.splash{justify-content:center;align-items:center;gap:var(--space-6);background:var(--gradient-green);flex-direction:column;min-height:100vh;display:flex}.splash-wordmark{font:var(--text-display-3xl);color:var(--text-inverse);letter-spacing:-.03em}.splash-tagline{font:var(--text-body-md);color:#ffffffe6;font-weight:600}.app-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-7)}.app-card-flat{background:var(--surface-card);border-radius:var(--radius-xl)}.app-label{font:var(--text-eyebrow);letter-spacing:.08em;color:var(--text-secondary)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);padding:0 var(--space-9);height:48px;font:var(--text-body-lg);cursor:pointer;transition:opacity var(--motion-fast);border:none;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-green{background:var(--accent-green);color:var(--text-inverse)}.btn-orange{background:var(--accent-orange);color:var(--text-inverse)}.btn-outline{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default)}.btn-danger-outline{background:var(--surface-card);color:var(--color-error-700);border:1px solid var(--color-error-100)}.btn-block{width:100%}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font:var(--text-eyebrow);color:var(--text-secondary)}.field-input{height:48px;padding:0 var(--space-6);border:1.5px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);font:var(--text-body);color:var(--text-primary);width:100%}.field-input:focus{border-color:var(--accent-green);outline:none}.field-textarea{min-height:96px;padding:var(--space-5);resize:vertical}.app-error{font:var(--text-body-sm);color:var(--color-error-700)}.retry-view{justify-content:center;align-items:center;gap:var(--space-6);padding:var(--space-14) var(--space-9);text-align:center;flex-direction:column;display:flex}.retry-view p{font:var(--text-body);color:var(--text-secondary);max-width:360px}.hl-green{background:var(--accent-green-tint)}.dialog-overlay{background:var(--color-overlay);z-index:50;padding:var(--space-9);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface-card);border-radius:var(--radius-2xl);padding:var(--space-11);gap:var(--space-6);flex-direction:column;width:100%;max-width:400px;display:flex}.xp-banner{align-items:center;gap:var(--space-3);background:var(--accent-green-tint);color:var(--accent-green-strong);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-7);font-weight:700;display:flex}.page{gap:var(--space-7);flex-direction:column;display:flex}.page-title{font:var(--text-display-lg);color:var(--text-primary)}@media (min-width:1024px){.page-title{font:var(--text-display-xl)}}.snackbar{background:var(--color-ink-900);color:var(--text-inverse);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-7);font:var(--text-body-sm);z-index:60;box-shadow:var(--shadow-float);position:fixed;bottom:80px;left:50%;transform:translate(-50%)}@media (min-width:1024px){.snackbar{bottom:32px}}.loader{border:3px solid var(--border-default);border-top-color:var(--accent-green);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
