Spaces:
Running
Running
| /* ========================================================================== | |
| Attachment Stretch Lab - Styles | |
| A soft, calming aesthetic with sage green and warm cream | |
| ========================================================================== */ | |
| :root { | |
| /* Primary palette */ | |
| --sage-light: #A8C5A8; | |
| --sage: #8FBC8F; | |
| --sage-dark: #6B8E6B; | |
| /* Background & Surface */ | |
| --cream: #FDF8F0; | |
| --cream-dark: #F5EDE0; | |
| --white: #FFFFFF; | |
| /* Text */ | |
| --charcoal: #3D3D3D; | |
| --charcoal-light: #5A5A5A; | |
| --muted: #8A8A8A; | |
| /* Accents */ | |
| --warm-shadow: rgba(139, 119, 101, 0.1); | |
| --soft-border: rgba(143, 188, 143, 0.3); | |
| /* Spacing */ | |
| --space-xs: 0.5rem; | |
| --space-sm: 1rem; | |
| --space-md: 1.5rem; | |
| --space-lg: 2rem; | |
| --space-xl: 3rem; | |
| /* Typography */ | |
| --font-body: 'Georgia', 'Times New Roman', serif; | |
| --font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |
| /* Borders */ | |
| --radius-sm: 8px; | |
| --radius-md: 12px; | |
| --radius-lg: 16px; | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: var(--font-body); | |
| background-color: var(--cream); | |
| color: var(--charcoal); | |
| line-height: 1.6; | |
| min-height: 100vh; | |
| } | |
| #app { | |
| min-height: 100vh; | |
| } | |
| /* ========================================================================== | |
| Screen Management | |
| ========================================================================== */ | |
| .screen { | |
| display: none; | |
| min-height: 100vh; | |
| } | |
| .screen.active { | |
| display: block; | |
| } | |
| .hidden { | |
| display: none ; | |
| } | |
| /* ========================================================================== | |
| Welcome Screen | |
| ========================================================================== */ | |
| #welcome-screen { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: var(--space-lg); | |
| } | |
| .welcome-container { | |
| max-width: 600px; | |
| text-align: center; | |
| } | |
| .welcome-container h1 { | |
| font-size: 2.5rem; | |
| font-weight: normal; | |
| color: var(--sage-dark); | |
| margin-bottom: var(--space-xs); | |
| } | |
| .subtitle { | |
| font-size: 1.1rem; | |
| color: var(--muted); | |
| font-style: italic; | |
| margin-bottom: var(--space-xl); | |
| } | |
| .welcome-content { | |
| text-align: left; | |
| } | |
| .intro-text { | |
| background: var(--white); | |
| padding: var(--space-lg); | |
| border-radius: var(--radius-md); | |
| box-shadow: 0 2px 12px var(--warm-shadow); | |
| margin-bottom: var(--space-lg); | |
| } | |
| .intro-text p { | |
| margin-bottom: var(--space-sm); | |
| } | |
| .intro-text p:last-child { | |
| margin-bottom: 0; | |
| } | |
| .the-invitation { | |
| background: linear-gradient(135deg, var(--sage-light) 0%, var(--sage) 100%); | |
| color: var(--white); | |
| padding: var(--space-md); | |
| border-radius: var(--radius-md); | |
| margin-bottom: var(--space-lg); | |
| text-align: center; | |
| } | |
| .the-invitation em { | |
| font-style: normal; | |
| font-size: 1.05rem; | |
| } | |
| .api-section { | |
| margin-bottom: var(--space-lg); | |
| } | |
| .api-section label { | |
| display: block; | |
| font-family: var(--font-ui); | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| margin-bottom: var(--space-xs); | |
| color: var(--charcoal-light); | |
| } | |
| .api-section input { | |
| width: 100%; | |
| padding: var(--space-sm); | |
| font-size: 1rem; | |
| font-family: var(--font-ui); | |
| border: 2px solid var(--soft-border); | |
| border-radius: var(--radius-sm); | |
| background: var(--white); | |
| transition: border-color 0.2s; | |
| } | |
| .api-section input:focus { | |
| outline: none; | |
| border-color: var(--sage); | |
| } | |
| .api-note { | |
| font-size: 0.85rem; | |
| color: var(--muted); | |
| margin-top: var(--space-xs); | |
| } | |
| /* Practice Setup */ | |
| .practice-setup { | |
| background: var(--white); | |
| padding: var(--space-md); | |
| border-radius: var(--radius-md); | |
| margin-bottom: var(--space-md); | |
| box-shadow: 0 1px 4px var(--warm-shadow); | |
| } | |
| .practice-setup h3 { | |
| font-size: 1rem; | |
| font-weight: 500; | |
| color: var(--sage-dark); | |
| margin-bottom: var(--space-md); | |
| font-family: var(--font-ui); | |
| } | |
| .setup-row { | |
| margin-bottom: var(--space-md); | |
| } | |
| .setup-row:last-child { | |
| margin-bottom: 0; | |
| } | |
| .setup-row label { | |
| display: block; | |
| font-family: var(--font-ui); | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| color: var(--charcoal-light); | |
| margin-bottom: var(--space-xs); | |
| } | |
| .setup-row select, | |
| .setup-row input[type="text"] { | |
| width: 100%; | |
| padding: var(--space-sm); | |
| font-family: var(--font-ui); | |
| font-size: 1rem; | |
| border: 2px solid var(--soft-border); | |
| border-radius: var(--radius-sm); | |
| background: var(--cream); | |
| } | |
| .setup-row select:focus, | |
| .setup-row input[type="text"]:focus { | |
| outline: none; | |
| border-color: var(--sage); | |
| } | |
| /* Practice Options */ | |
| .practice-options { | |
| background: var(--cream-dark); | |
| padding: var(--space-md); | |
| border-radius: var(--radius-md); | |
| margin-bottom: var(--space-lg); | |
| } | |
| .practice-options h3 { | |
| font-size: 1rem; | |
| font-weight: 500; | |
| color: var(--charcoal-light); | |
| margin-bottom: var(--space-md); | |
| font-family: var(--font-ui); | |
| } | |
| .option-row { | |
| margin-bottom: var(--space-md); | |
| } | |
| .option-row:last-child { | |
| margin-bottom: 0; | |
| } | |
| .toggle-label { | |
| display: flex; | |
| align-items: center; | |
| gap: var(--space-sm); | |
| cursor: pointer; | |
| margin-bottom: var(--space-xs); | |
| } | |
| .toggle-label input[type="checkbox"] { | |
| width: 18px; | |
| height: 18px; | |
| accent-color: var(--sage); | |
| cursor: pointer; | |
| } | |
| .toggle-text { | |
| font-family: var(--font-ui); | |
| font-size: 0.95rem; | |
| font-weight: 500; | |
| color: var(--charcoal); | |
| } | |
| .option-description { | |
| font-size: 0.85rem; | |
| color: var(--muted); | |
| margin-left: 30px; | |
| line-height: 1.4; | |
| } | |
| .primary-btn { | |
| display: block; | |
| width: 100%; | |
| padding: var(--space-sm) var(--space-lg); | |
| font-family: var(--font-ui); | |
| font-size: 1.1rem; | |
| font-weight: 500; | |
| color: var(--white); | |
| background: var(--sage); | |
| border: none; | |
| border-radius: var(--radius-md); | |
| cursor: pointer; | |
| transition: background-color 0.2s, transform 0.1s; | |
| } | |
| .primary-btn:hover { | |
| background: var(--sage-dark); | |
| } | |
| .primary-btn:active { | |
| transform: scale(0.98); | |
| } | |
| .secondary-btn { | |
| padding: var(--space-xs) var(--space-sm); | |
| font-family: var(--font-ui); | |
| font-size: 0.9rem; | |
| color: var(--sage-dark); | |
| background: transparent; | |
| border: 2px solid var(--sage); | |
| border-radius: var(--radius-sm); | |
| cursor: pointer; | |
| transition: background-color 0.2s; | |
| } | |
| .secondary-btn:hover { | |
| background: var(--sage-light); | |
| color: var(--white); | |
| } | |
| .disclaimer { | |
| margin-top: var(--space-lg); | |
| text-align: center; | |
| font-size: 0.85rem; | |
| color: var(--muted); | |
| font-style: italic; | |
| } | |
| /* ========================================================================== | |
| Practice Screen | |
| ========================================================================== */ | |
| #practice-screen { | |
| display: flex; | |
| flex-direction: column; | |
| height: 100vh; | |
| overflow: hidden; | |
| } | |
| .practice-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: var(--space-sm) var(--space-md); | |
| background: var(--white); | |
| border-bottom: 1px solid var(--soft-border); | |
| } | |
| .practice-header h2 { | |
| font-size: 1.2rem; | |
| font-weight: normal; | |
| color: var(--sage-dark); | |
| } | |
| .session-info { | |
| display: flex; | |
| align-items: center; | |
| gap: var(--space-md); | |
| } | |
| #round-display { | |
| font-family: var(--font-ui); | |
| font-size: 0.9rem; | |
| color: var(--muted); | |
| } | |
| .practice-container { | |
| display: flex; | |
| flex: 1; | |
| overflow: hidden; | |
| } | |
| /* Conversation Panel */ | |
| .conversation-panel { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| background: var(--cream-dark); | |
| border-right: 1px solid var(--soft-border); | |
| } | |
| .panel-header { | |
| padding: var(--space-sm) var(--space-md); | |
| background: var(--white); | |
| border-bottom: 1px solid var(--soft-border); | |
| } | |
| .panel-header h3 { | |
| font-size: 1rem; | |
| font-weight: 500; | |
| color: var(--charcoal-light); | |
| font-family: var(--font-ui); | |
| } | |
| .messages-container { | |
| flex: 1; | |
| overflow-y: auto; | |
| padding: var(--space-md); | |
| display: flex; | |
| flex-direction: column; | |
| gap: var(--space-sm); | |
| } | |
| .message { | |
| max-width: 80%; | |
| padding: var(--space-sm) var(--space-md); | |
| border-radius: var(--radius-md); | |
| line-height: 1.5; | |
| } | |
| .message.user { | |
| align-self: flex-end; | |
| background: var(--sage); | |
| color: var(--white); | |
| border-bottom-right-radius: 4px; | |
| } | |
| .message.assistant { | |
| align-self: flex-start; | |
| background: var(--white); | |
| color: var(--charcoal); | |
| border-bottom-left-radius: 4px; | |
| box-shadow: 0 1px 4px var(--warm-shadow); | |
| } | |
| .waiting-indicator { | |
| display: flex; | |
| align-items: center; | |
| gap: var(--space-sm); | |
| padding: var(--space-sm) var(--space-md); | |
| color: var(--muted); | |
| font-family: var(--font-ui); | |
| font-size: 0.9rem; | |
| } | |
| .breathing-dots { | |
| display: flex; | |
| gap: 4px; | |
| } | |
| .breathing-dots span { | |
| width: 8px; | |
| height: 8px; | |
| background: var(--sage); | |
| border-radius: 50%; | |
| animation: breathe 1.5s ease-in-out infinite; | |
| } | |
| .breathing-dots span:nth-child(2) { | |
| animation-delay: 0.2s; | |
| } | |
| .breathing-dots span:nth-child(3) { | |
| animation-delay: 0.4s; | |
| } | |
| @keyframes breathe { | |
| 0%, 100% { | |
| opacity: 0.3; | |
| transform: scale(0.8); | |
| } | |
| 50% { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| .input-area { | |
| display: flex; | |
| gap: var(--space-sm); | |
| padding: var(--space-md); | |
| background: var(--white); | |
| border-top: 1px solid var(--soft-border); | |
| } | |
| .input-area textarea { | |
| flex: 1; | |
| padding: var(--space-sm); | |
| font-family: var(--font-body); | |
| font-size: 1rem; | |
| border: 2px solid var(--soft-border); | |
| border-radius: var(--radius-sm); | |
| resize: none; | |
| } | |
| .input-area textarea:focus { | |
| outline: none; | |
| border-color: var(--sage); | |
| } | |
| .send-btn { | |
| padding: var(--space-sm) var(--space-md); | |
| font-family: var(--font-ui); | |
| font-weight: 500; | |
| color: var(--white); | |
| background: var(--sage); | |
| border: none; | |
| border-radius: var(--radius-sm); | |
| cursor: pointer; | |
| transition: background-color 0.2s; | |
| } | |
| .send-btn:hover { | |
| background: var(--sage-dark); | |
| } | |
| .send-btn:disabled { | |
| background: var(--muted); | |
| cursor: not-allowed; | |
| } | |
| /* Journal Panel */ | |
| .journal-panel { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| background: var(--white); | |
| overflow-y: auto; | |
| } | |
| .journal-invitation { | |
| padding: var(--space-md); | |
| text-align: center; | |
| border-bottom: 1px solid var(--soft-border); | |
| } | |
| .invitation-text { | |
| font-size: 1.1rem; | |
| font-style: italic; | |
| color: var(--sage-dark); | |
| } | |
| .journal-input-area { | |
| padding: var(--space-md); | |
| border-bottom: 1px solid var(--soft-border); | |
| } | |
| .journal-input-area textarea { | |
| width: 100%; | |
| padding: var(--space-md); | |
| font-family: var(--font-body); | |
| font-size: 1rem; | |
| border: 2px solid var(--soft-border); | |
| border-radius: var(--radius-md); | |
| resize: none; | |
| margin-bottom: var(--space-sm); | |
| background: var(--cream); | |
| } | |
| .journal-input-area textarea:focus { | |
| outline: none; | |
| border-color: var(--sage); | |
| } | |
| .journal-input-area textarea::placeholder { | |
| color: var(--muted); | |
| font-style: italic; | |
| } | |
| .save-btn { | |
| display: block; | |
| width: 100%; | |
| padding: var(--space-xs) var(--space-sm); | |
| font-family: var(--font-ui); | |
| font-size: 0.9rem; | |
| color: var(--sage-dark); | |
| background: var(--sage-light); | |
| border: none; | |
| border-radius: var(--radius-sm); | |
| cursor: pointer; | |
| transition: background-color 0.2s; | |
| } | |
| .save-btn:hover { | |
| background: var(--sage); | |
| color: var(--white); | |
| } | |
| .journal-examples { | |
| padding: var(--space-sm) var(--space-md); | |
| font-size: 0.85rem; | |
| font-style: italic; | |
| color: var(--muted); | |
| background: var(--cream); | |
| border-bottom: 1px solid var(--soft-border); | |
| } | |
| .journal-history { | |
| flex: 1; | |
| padding: var(--space-md); | |
| overflow-y: auto; | |
| } | |
| .journal-history h4 { | |
| font-family: var(--font-ui); | |
| font-size: 0.85rem; | |
| font-weight: 500; | |
| color: var(--charcoal-light); | |
| margin-bottom: var(--space-sm); | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| #reflection-entries { | |
| display: flex; | |
| flex-direction: column; | |
| gap: var(--space-sm); | |
| } | |
| .reflection-entry { | |
| padding: var(--space-sm); | |
| background: var(--cream); | |
| border-radius: var(--radius-sm); | |
| border-left: 3px solid var(--sage); | |
| } | |
| .reflection-entry .wait-time { | |
| font-family: var(--font-ui); | |
| font-size: 0.75rem; | |
| color: var(--muted); | |
| margin-bottom: 4px; | |
| } | |
| .reflection-entry .reflection-text { | |
| font-size: 0.95rem; | |
| color: var(--charcoal); | |
| } | |
| .grounding-link { | |
| padding: var(--space-sm); | |
| text-align: center; | |
| background: var(--cream); | |
| border-top: 1px solid var(--soft-border); | |
| } | |
| .grounding-link a { | |
| font-size: 0.85rem; | |
| color: var(--sage-dark); | |
| text-decoration: none; | |
| } | |
| .grounding-link a:hover { | |
| text-decoration: underline; | |
| } | |
| /* ========================================================================== | |
| Analysis Screen | |
| ========================================================================== */ | |
| #analysis-screen { | |
| padding: var(--space-lg); | |
| overflow-y: auto; | |
| } | |
| .analysis-container { | |
| max-width: 700px; | |
| margin: 0 auto; | |
| } | |
| .analysis-container h1 { | |
| font-size: 2rem; | |
| font-weight: normal; | |
| color: var(--sage-dark); | |
| text-align: center; | |
| margin-bottom: var(--space-xs); | |
| } | |
| .analysis-container > .subtitle { | |
| text-align: center; | |
| margin-bottom: var(--space-xl); | |
| } | |
| .session-stats { | |
| display: flex; | |
| justify-content: center; | |
| gap: var(--space-xl); | |
| margin-bottom: var(--space-xl); | |
| } | |
| .stat { | |
| text-align: center; | |
| } | |
| .stat-number { | |
| display: block; | |
| font-size: 2rem; | |
| color: var(--sage-dark); | |
| font-weight: 500; | |
| } | |
| .stat-label { | |
| font-family: var(--font-ui); | |
| font-size: 0.85rem; | |
| color: var(--muted); | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| .journal-review, | |
| .pattern-analysis, | |
| .bridge-section { | |
| background: var(--white); | |
| padding: var(--space-lg); | |
| border-radius: var(--radius-md); | |
| box-shadow: 0 2px 12px var(--warm-shadow); | |
| margin-bottom: var(--space-lg); | |
| } | |
| .journal-review h3, | |
| .pattern-analysis h3, | |
| .bridge-section h3 { | |
| font-size: 1.2rem; | |
| font-weight: normal; | |
| color: var(--sage-dark); | |
| margin-bottom: var(--space-md); | |
| } | |
| #all-reflections { | |
| display: flex; | |
| flex-direction: column; | |
| gap: var(--space-sm); | |
| } | |
| .analysis-text { | |
| line-height: 1.7; | |
| } | |
| .analysis-text p { | |
| margin-bottom: var(--space-sm); | |
| } | |
| .analysis-text .section-header { | |
| display: block; | |
| color: var(--sage-dark); | |
| font-size: 1.05rem; | |
| margin-top: var(--space-md); | |
| margin-bottom: var(--space-xs); | |
| font-family: var(--font-ui); | |
| } | |
| .analysis-text p:first-child .section-header { | |
| margin-top: 0; | |
| } | |
| .loading-text { | |
| color: var(--muted); | |
| font-style: italic; | |
| } | |
| .bridge-section p { | |
| margin-bottom: var(--space-sm); | |
| color: var(--charcoal-light); | |
| } | |
| .bridge-section textarea { | |
| width: 100%; | |
| padding: var(--space-md); | |
| font-family: var(--font-body); | |
| font-size: 1rem; | |
| border: 2px solid var(--soft-border); | |
| border-radius: var(--radius-sm); | |
| resize: none; | |
| background: var(--cream); | |
| } | |
| .bridge-section textarea:focus { | |
| outline: none; | |
| border-color: var(--sage); | |
| } | |
| .action-buttons { | |
| display: flex; | |
| gap: var(--space-md); | |
| justify-content: center; | |
| } | |
| .action-buttons .secondary-btn { | |
| padding: var(--space-sm) var(--space-lg); | |
| } | |
| .action-buttons .primary-btn { | |
| width: auto; | |
| padding: var(--space-sm) var(--space-lg); | |
| } | |
| /* ========================================================================== | |
| Modal | |
| ========================================================================== */ | |
| .modal { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0, 0, 0, 0.4); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| z-index: 1000; | |
| } | |
| .modal-content { | |
| background: var(--white); | |
| padding: var(--space-xl); | |
| border-radius: var(--radius-lg); | |
| max-width: 400px; | |
| text-align: center; | |
| position: relative; | |
| } | |
| .close-modal { | |
| position: absolute; | |
| top: var(--space-sm); | |
| right: var(--space-sm); | |
| background: none; | |
| border: none; | |
| font-size: 1.5rem; | |
| color: var(--muted); | |
| cursor: pointer; | |
| } | |
| .modal-content h3 { | |
| color: var(--sage-dark); | |
| margin-bottom: var(--space-md); | |
| } | |
| .modal-content p { | |
| margin-bottom: var(--space-sm); | |
| color: var(--charcoal-light); | |
| } | |
| .modal-content .primary-btn { | |
| margin-top: var(--space-md); | |
| width: auto; | |
| display: inline-block; | |
| } | |
| /* ========================================================================== | |
| Starter Message | |
| ========================================================================== */ | |
| .starter-message { | |
| text-align: center; | |
| padding: var(--space-lg); | |
| color: var(--sage-dark); | |
| font-style: italic; | |
| background: var(--cream); | |
| border-radius: var(--radius-md); | |
| margin: var(--space-md); | |
| } | |
| .starter-message p { | |
| margin-bottom: var(--space-xs); | |
| } | |
| .starter-message p:last-child { | |
| margin-bottom: 0; | |
| font-size: 0.9rem; | |
| color: var(--muted); | |
| } | |
| /* ========================================================================== | |
| End Session Button (in journal panel) | |
| ========================================================================== */ | |
| .end-session-area { | |
| padding: var(--space-md); | |
| margin-top: auto; | |
| border-top: 1px solid var(--soft-border); | |
| } | |
| .end-session-btn { | |
| width: 100%; | |
| padding: var(--space-sm) var(--space-md); | |
| font-family: var(--font-ui); | |
| font-size: 0.95rem; | |
| color: var(--charcoal-light); | |
| background: var(--cream); | |
| border: 1px solid var(--soft-border); | |
| border-radius: var(--radius-sm); | |
| cursor: pointer; | |
| transition: all 0.2s; | |
| } | |
| .end-session-btn:hover { | |
| background: var(--sage-light); | |
| color: var(--white); | |
| border-color: var(--sage); | |
| } | |
| /* ========================================================================== | |
| Mobile Tabs | |
| ========================================================================== */ | |
| .mobile-tabs { | |
| display: none; | |
| background: var(--white); | |
| border-bottom: 1px solid var(--soft-border); | |
| } | |
| .tab-btn { | |
| flex: 1; | |
| padding: var(--space-sm); | |
| font-family: var(--font-ui); | |
| font-size: 0.95rem; | |
| font-weight: 500; | |
| color: var(--muted); | |
| background: transparent; | |
| border: none; | |
| border-bottom: 3px solid transparent; | |
| cursor: pointer; | |
| transition: all 0.2s; | |
| } | |
| .tab-btn.active { | |
| color: var(--sage-dark); | |
| border-bottom-color: var(--sage); | |
| } | |
| /* ========================================================================== | |
| Responsive | |
| ========================================================================== */ | |
| @media (max-width: 768px) { | |
| /* Show mobile tabs */ | |
| .mobile-tabs { | |
| display: flex; | |
| } | |
| .practice-container { | |
| flex-direction: column; | |
| position: relative; | |
| } | |
| /* Hide panel headers on mobile - tabs replace them */ | |
| .conversation-panel .panel-header, | |
| .journal-panel .panel-header { | |
| display: none; | |
| } | |
| /* Full height panels that stack */ | |
| .conversation-panel, | |
| .journal-panel { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| height: 100%; | |
| border: none; | |
| opacity: 0; | |
| pointer-events: none; | |
| transition: opacity 0.2s; | |
| } | |
| /* Default: show conversation on mobile */ | |
| .conversation-panel { | |
| opacity: 1; | |
| pointer-events: auto; | |
| } | |
| .journal-panel { | |
| opacity: 0; | |
| pointer-events: none; | |
| } | |
| /* When hidden class is added */ | |
| .mobile-hidden { | |
| opacity: 0 ; | |
| pointer-events: none ; | |
| } | |
| /* When active class is added */ | |
| .mobile-active { | |
| opacity: 1 ; | |
| pointer-events: auto ; | |
| } | |
| /* Fix the practice container height */ | |
| #practice-screen { | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| #practice-screen .practice-container { | |
| flex: 1; | |
| overflow: hidden; | |
| } | |
| /* Improve input area on mobile */ | |
| .input-area { | |
| padding: var(--space-sm); | |
| } | |
| .input-area textarea { | |
| font-size: 16px; /* Prevents iOS zoom */ | |
| } | |
| /* Journal panel mobile improvements */ | |
| .journal-input-area { | |
| padding: var(--space-sm); | |
| } | |
| .journal-input-area textarea { | |
| font-size: 16px; /* Prevents iOS zoom */ | |
| } | |
| /* Welcome screen mobile */ | |
| #welcome-screen { | |
| padding: var(--space-md); | |
| } | |
| .welcome-container h1 { | |
| font-size: 1.8rem; | |
| } | |
| .intro-text { | |
| padding: var(--space-md); | |
| } | |
| /* Analysis screen mobile */ | |
| .session-stats { | |
| gap: var(--space-md); | |
| } | |
| .stat-number { | |
| font-size: 1.5rem; | |
| } | |
| .action-buttons { | |
| flex-direction: column; | |
| } | |
| .action-buttons .secondary-btn, | |
| .action-buttons .primary-btn { | |
| width: 100%; | |
| } | |
| /* Grounding link */ | |
| .grounding-link { | |
| padding: var(--space-xs); | |
| } | |
| } | |