.message-bubble{display:flex;flex-direction:column;max-width:75%;margin:var(--space-xl) 0;animation:slideInWarm .4s var(--ease-out)}.message-bubble.user{align-self:flex-end}.message-bubble.airen{align-self:flex-start}.message-content{position:relative}.message-text{padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-2xl);font-size:var(--font-size-md);line-height:var(--line-height-normal);word-wrap:break-word;transition:all var(--duration-normal) var(--ease);box-shadow:var(--shadow-md);position:relative}.message-bubble.user .message-text{background:linear-gradient(135deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);color:var(--white);border:2px solid var(--warm-orange-dark);text-shadow:0 1px 2px rgba(0,0,0,.1)}.message-bubble.airen .message-text{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);color:var(--warm-gray-800);border:2px solid var(--warm-gray-300);box-shadow:var(--shadow-warm-md);position:relative}.message-bubble.airen .message-text:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--warm-orange-light),var(--sage-green));border-radius:var(--radius-2xl);z-index:-1;opacity:.1}.message-bubble.airen.emotion-joy .message-text,.message-bubble.airen.emotion-playful .message-text,.message-bubble.airen.emotion-celebration .message-text,.message-bubble.airen.emotion-contemplation .message-text,.message-bubble.airen.emotion-support .message-text,.message-bubble.airen.emotion-understanding .message-text,.message-bubble.airen.emotion-wise .message-text,.message-bubble.airen.emotion-curiosity .message-text{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);color:var(--warm-gray-800);border:2px solid var(--warm-gray-300);box-shadow:var(--shadow-warm-md);position:relative}.message-bubble.airen.emotion-joy .message-text:before,.message-bubble.airen.emotion-playful .message-text:before,.message-bubble.airen.emotion-celebration .message-text:before,.message-bubble.airen.emotion-contemplation .message-text:before,.message-bubble.airen.emotion-support .message-text:before,.message-bubble.airen.emotion-understanding .message-text:before,.message-bubble.airen.emotion-wise .message-text:before,.message-bubble.airen.emotion-curiosity .message-text:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--warm-orange-light),var(--sage-green));border-radius:var(--radius-2xl);z-index:-1;opacity:.1}.message-bubble.airen.message-casual .message-text,.message-bubble.airen.message-asking .message-text{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);color:var(--warm-gray-800);border:2px solid var(--warm-gray-300);box-shadow:var(--shadow-warm-md);position:relative}.message-bubble.airen.message-casual .message-text:before,.message-bubble.airen.message-asking .message-text:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--warm-orange-light),var(--sage-green));border-radius:var(--radius-2xl);z-index:-1;opacity:.1}.message-bubble.airen.message-advice .message-text,.message-bubble.airen.message-warning .message-text,.message-bubble.airen.message-supportive .message-text{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);color:var(--warm-gray-800);border:2px solid var(--warm-gray-300);box-shadow:var(--shadow-warm-md);position:relative}.message-bubble.airen.message-advice .message-text:before,.message-bubble.airen.message-warning .message-text:before,.message-bubble.airen.message-supportive .message-text:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--warm-orange-light),var(--sage-green));border-radius:var(--radius-2xl);z-index:-1;opacity:.1}.spark-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--spark-gold);color:var(--gray-800);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;margin-top:var(--space-sm);animation:sparkPulse 2s infinite}.message-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);backdrop-filter:blur(4px)}.message-bubble.user .message-footer{background:#ff8a6526;border-top:1px solid rgba(255,138,101,.2)}.message-bubble.airen .message-footer{background:#f7f5f3cc;border-top:1px solid rgba(215,204,200,.3)}.message-actions{display:flex;align-items:center;gap:var(--space-xs)}@media (max-width: 768px){.message-footer{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:var(--space-sm);flex-direction:row!important}.message-meta{flex:1;min-width:0;display:flex;align-items:center}.copy-message-btn{flex-shrink:0;margin-left:0}.message-time{display:inline-block!important;font-size:var(--font-size-xs);font-weight:600}.message-bubble.user .message-time{color:#ffffffe6!important}.message-bubble.airen .message-time{color:var(--warm-gray-600)!important}.message-bubble.user .copy-button,.message-bubble.user .play-button{background:#ffffff4d!important;color:#fff!important}.message-bubble.airen .copy-button{background:#6366f126!important;color:#4f46e5!important}.message-bubble.airen .play-button{background:#10b98126!important;color:#059669!important}}.message-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--gray-700)}.message-sender{font-weight:500}.message-time{display:inline-block;font-size:var(--font-size-xs);font-weight:500;letter-spacing:.02em;opacity:.8}.message-bubble.user .message-time{color:#ffffffe6}.message-bubble.airen .message-time{color:var(--warm-gray-600)}.play-button,.copy-button{cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:600;opacity:.8;transition:all .25s ease;border:none;backdrop-filter:blur(8px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.02em;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.message-bubble.user .play-button{background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.3)}.message-bubble.user .play-button:hover{background:#ffffff59;transform:translateY(-1px);box-shadow:0 4px 8px #00000026;opacity:1}.message-bubble.airen .play-button{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2)}.message-bubble.airen .play-button:hover{background:#10b98126;color:#047857;transform:translateY(-1px);box-shadow:0 4px 8px #10b98133;opacity:1}.play-button:disabled{background:#9ca3af4d;color:#9ca3af;border-color:#9ca3af66;cursor:not-allowed;transform:none;box-shadow:none;opacity:.5}.message-bubble.user .copy-button{background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.3)}.message-bubble.user .copy-button:hover{background:#ffffff59;transform:translateY(-1px);box-shadow:0 4px 8px #00000026;opacity:1}.message-bubble.airen .copy-button{background:#6366f11a;color:#4f46e5;border:1px solid rgba(99,102,241,.2)}.message-bubble.airen .copy-button:hover{background:#6366f126;color:#3730a3;transform:translateY(-1px);box-shadow:0 4px 8px #6366f133;opacity:1}.message-bubble:hover .copy-button,.message-bubble:hover .play-button,.message-bubble:hover .copy-button:hover,.message-bubble:hover .play-button:hover{opacity:1}.message-bubble.user .message-footer{justify-content:flex-end}.message-bubble:hover .message-text{transform:translateY(-1px);box-shadow:var(--shadow-md)}.message-bubble.user:hover .message-text{background:color-mix(in srgb,var(--trust-blue) 90%,black)}@media (max-width: 768px){.message-bubble{max-width:90%}.message-text{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);line-height:1.5;color:var(--gray-800)}.message-footer{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.message-bubble.user .message-footer{align-items:flex-end}}@keyframes sparkPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@media (prefers-reduced-motion: reduce){.message-bubble{animation:none}.message-bubble:hover .message-text{transform:none}.spark-indicator{animation:none}}@media (prefers-contrast: high){.message-bubble.airen .message-text{border:2px solid var(--gray-800)}.message-bubble.user .message-text{border:2px solid var(--trust-blue)}.spark-indicator{border:1px solid var(--gray-800)}}.message-bubble:focus-within{outline:2px solid var(--trust-blue);outline-offset:2px;border-radius:var(--radius-lg)}.demo-chat-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-md);animation:fadeInDemo .3s ease}@keyframes fadeInDemo{0%{opacity:0}to{opacity:1}}.demo-chat-container{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-warm-xl);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:2px solid var(--warm-orange-light);animation:slideInDemo .4s ease}@keyframes slideInDemo{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.demo-header{background:linear-gradient(135deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);color:var(--white);padding:var(--space-lg);display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--warm-orange-dark)}.demo-header-left{display:flex;align-items:center;gap:var(--space-md)}.demo-indicator{display:flex;align-items:center;gap:var(--space-sm)}.demo-badge{background:var(--white);color:var(--warm-orange);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.demo-title{font-size:var(--font-size-lg);font-weight:600}.demo-header-right{display:flex;align-items:center;gap:var(--space-xs)}.demo-control-button,.demo-close-button{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:var(--white);padding:var(--space-sm);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.demo-control-button:hover,.demo-close-button:hover{background:#ffffff4d;transform:scale(1.05)}.demo-control-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.demo-messages{flex:1;overflow-y:auto;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);background:linear-gradient(180deg,var(--warm-gray-25) 0%,var(--white) 100%)}.demo-footer{background:var(--warm-gray-50);padding:var(--space-xl);border-top:1px solid var(--warm-gray-200);text-align:center;animation:slideUpDemo .5s ease}@keyframes slideUpDemo{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.demo-completion-message{margin-bottom:var(--space-lg)}.demo-completion-message h3{color:var(--warm-orange);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--space-sm)}.demo-completion-message p{color:var(--warm-gray-600);font-size:var(--font-size-md);margin:0}.demo-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.demo-restart-button,.demo-start-button{border:none;border-radius:var(--radius-lg);padding:var(--space-md) var(--space-xl);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-xs)}.demo-restart-button{background:var(--warm-gray-200);color:var(--warm-gray-700);border:2px solid var(--warm-gray-300)}.demo-restart-button:hover{background:var(--warm-gray-300);transform:translateY(-2px);box-shadow:var(--shadow-warm-md)}.demo-start-button{background:linear-gradient(135deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);color:var(--white);border:2px solid var(--warm-orange-dark);box-shadow:var(--shadow-warm-md)}.demo-start-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-warm-lg);background:linear-gradient(135deg,var(--warm-orange-dark) 0%,var(--warm-orange) 100%)}.demo-progress{height:4px;background:var(--warm-gray-200);position:relative;overflow:hidden}.demo-progress-bar{height:100%;background:linear-gradient(90deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);transition:width .3s ease;position:relative}.demo-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 768px){.demo-chat-overlay{padding:var(--space-sm)}.demo-chat-container{max-height:95vh}.demo-header{padding:var(--space-md)}.demo-title{font-size:var(--font-size-md)}.demo-messages{padding:var(--space-md);gap:var(--space-md)}.demo-footer{padding:var(--space-md)}.demo-actions{flex-direction:column}.demo-restart-button,.demo-start-button{width:100%;justify-content:center}}@media (max-width: 480px){.demo-header-left .demo-title{display:none}.demo-control-button,.demo-close-button{min-width:32px;height:32px;padding:var(--space-xs)}}.password-dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px)}.password-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;border:1px solid #e5e7eb}.password-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.password-dialog-header h3{margin:0;color:#111827;font-size:1.25rem;font-weight:600}.password-dialog-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;padding:4px;border-radius:6px;transition:all .2s ease}.password-dialog-close:hover{background:var(--hover-color);color:var(--text-primary)}.password-dialog-form{padding:var(--space-lg)}.encryption-option{margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.encryption-toggle{display:flex;align-items:center;cursor:pointer;margin-bottom:var(--space-sm)}.encryption-toggle input[type=checkbox]{margin-right:var(--space-sm);transform:scale(1.2)}.encryption-label{font-weight:600;color:#111827}.encryption-help{margin:0;font-size:.9rem;color:#6b7280;line-height:1.4}.password-field{margin-bottom:var(--space-lg)}.password-field label{display:block;margin-bottom:8px;font-weight:600;color:#111827}.password-input-wrapper{position:relative}.password-field input{width:100%;padding:12px 50px 12px 12px;border:2px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s ease;background:#fff;color:#111827;box-sizing:border-box}.password-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--border-radius);transition:background-color .2s ease}.password-toggle:hover{background:var(--hover-color)}.password-strength{margin-top:var(--space-sm)}.strength-indicator{height:4px;background:var(--border-color);border-radius:2px;margin-bottom:var(--space-xs);overflow:hidden}.strength-bar{height:100%;transition:all .3s ease;border-radius:2px}.strength-bar.weak{width:33%;background:#ef4444}.strength-bar.medium{width:66%;background:#f59e0b}.strength-bar.strong{width:100%;background:#10b981}.strength-text{font-size:.875rem;font-weight:500}.password-strength.weak .strength-text{color:#ef4444}.password-strength.medium .strength-text{color:#f59e0b}.password-strength.strong .strength-text{color:#10b981}.password-error{margin-top:var(--space-sm);color:#ef4444;font-size:.875rem;font-weight:500}.file-info{margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.file-info p{margin:0;color:#6b7280}.file-info strong{color:#111827}.password-warning{margin-bottom:var(--space-lg);padding:var(--space-md);background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--border-radius)}.password-warning p{margin:0;color:#92400e;font-size:.9rem;line-height:1.4}.password-dialog-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.password-button{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.password-button-cancel{background:var(--background-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.password-button-cancel:hover{background:var(--hover-color);color:var(--text-primary)}.password-button-confirm{background:#3b82f6;color:#fff}.password-button-confirm:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.password-button-confirm:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (prefers-color-scheme: dark){.password-warning{background:#f59e0b1a;border-color:#f59e0b4d}.password-warning p{color:#fbbf24}}.pwa-status-indicator{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;transition:all var(--duration-fast) var(--ease);cursor:default;min-height:32px}.pwa-status-content{display:flex;align-items:center;gap:var(--space-xs)}.pwa-status-icon{font-size:.875rem;line-height:1}.pwa-status-text{white-space:nowrap;line-height:1.2}.pwa-status-action{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease);border:1px solid transparent;min-height:24px}.pwa-status-indicator.online{background:var(--sage-green);color:var(--white)}.pwa-status-indicator.offline{background:var(--warm-gray-400);color:var(--white)}.pwa-status-indicator.installed{background:linear-gradient(135deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);color:var(--white)}.pwa-status-indicator.update{background:var(--spark-gold);color:var(--gray-900);animation:gentlePulse 2s ease-in-out infinite}.pwa-status-indicator.update .pwa-status-action{background:var(--white);color:var(--gray-900);border-color:var(--gray-900)}.pwa-status-indicator.update .pwa-status-action:hover{background:var(--gray-100);transform:translateY(-1px)}.pwa-status-indicator.update:hover{transform:scale(1.02)}@media (max-width: 768px){.pwa-status-indicator{font-size:var(--font-size-xs);padding:var(--space-xs);gap:var(--space-xs)}.pwa-status-text{max-width:120px;overflow:hidden;text-overflow:ellipsis}.pwa-status-action{font-size:.7rem;padding:2px 6px}}@keyframes gentlePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}@media (prefers-contrast: high){.pwa-status-indicator{border:2px solid currentColor}.pwa-status-indicator.online{background:green;color:#fff}.pwa-status-indicator.offline{background:gray;color:#fff}.pwa-status-indicator.installed{background:#f60;color:#fff}.pwa-status-indicator.update{background:#fd0;color:#000}}@media (prefers-reduced-motion: reduce){.pwa-status-indicator.update{animation:none}.pwa-status-indicator.update:hover,.pwa-status-action:hover{transform:none}}.pwa-status-action:focus{outline:2px solid var(--trust-blue);outline-offset:2px}.pwa-status-indicator.compact{padding:2px var(--space-xs);min-height:24px;font-size:.7rem}.pwa-status-indicator.compact .pwa-status-text{display:none}.pwa-status-indicator.compact .pwa-status-icon{font-size:.8rem}*{margin:0;padding:0;box-sizing:border-box}:root{--warm-orange: #ff8a65;--warm-orange-light: #ffab7a;--warm-orange-dark: #e57350;--warm-brown: #8d6e63;--warm-brown-light: #a1887f;--warm-brown-dark: #6d4c41;--cream: #fff8f5;--warm-beige: #f5f1ed;--warm-tan: #efebe7;--soft-peach: #ffe0d6;--soft-coral: #ffccbc;--forest-green: #66bb6a;--sage-green: #a5d6a7;--warm-gray-100: #f7f5f3;--warm-gray-200: #ede7e0;--warm-gray-300: #d7ccc8;--warm-gray-400: #bcaaa4;--warm-gray-500: #8d6e63;--warm-gray-600: #6d4c41;--warm-gray-700: #5d4037;--warm-gray-800: #4e342e;--warm-gray-900: #3e2723;--white: #ffffff;--space-xs: 6px;--space-sm: 12px;--space-md: 18px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-family: "Poppins", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--shadow-warm-sm: 0 2px 8px rgba(141, 110, 99, .15);--shadow-warm-md: 0 4px 16px rgba(141, 110, 99, .2);--shadow-warm-lg: 0 8px 32px rgba(141, 110, 99, .25);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-2xl: 32px}body{font-family:var(--font-family);background:linear-gradient(135deg,var(--cream) 0%,var(--warm-beige) 50%,var(--soft-peach) 100%);color:var(--warm-gray-800);line-height:1.7;min-height:100vh;background-attachment:fixed}.app{min-height:100vh;display:flex;flex-direction:column;max-width:1400px;margin:0 auto}@media (min-width: 769px){.app{margin:var(--space-md) auto;min-height:calc(100vh - calc(var(--space-md) * 2));border:3px solid var(--warm-gray-300);border-radius:var(--radius-2xl);box-shadow:0 20px 40px #0000001a,0 10px 20px #0000000d,inset 0 1px #ffffff80;background:var(--white);overflow:hidden;position:relative}.app:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--warm-orange),var(--sage-green),var(--warm-orange));z-index:1}body{background:linear-gradient(135deg,var(--warm-gray-200) 0%,var(--warm-gray-300) 50%,var(--warm-gray-400) 100%)}}.header{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);border-bottom:1px solid var(--warm-gray-200);padding:var(--space-lg) var(--space-xl);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);box-shadow:var(--shadow-warm-sm)}@media (min-width: 769px){.header{border-radius:0;transform:translate(-4.8px);width:calc(100% + 9.6px);margin:0}}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;width:100%;padding:0 var(--space-md)}.header-left{display:flex;align-items:center;gap:var(--space-sm)}.logo-icon{font-size:32px!important;filter:drop-shadow(0 2px 4px rgba(255,138,101,.3));display:inline-block;color:var(--warm-brown)!important;opacity:1;visibility:visible;line-height:1;min-width:32px}.logo-text{font-size:24px!important;font-weight:600;color:var(--warm-brown)!important;text-shadow:0 1px 2px rgba(255,255,255,.5);display:inline-block;opacity:1;visibility:visible;line-height:1;min-width:80px}.logo-subtitle{font-size:16px!important;color:var(--warm-gray-500)!important;margin-left:var(--space-md);font-weight:400;display:inline-block;opacity:1;visibility:visible;line-height:1}.header-right{display:flex;align-items:center;gap:var(--space-md);margin-left:auto}.privacy-indicator{display:flex;align-items:center;gap:var(--space-xs);background:var(--sage-green);color:var(--white);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-xl);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-warm-sm);position:static!important;top:auto!important;left:auto!important;z-index:auto!important}.privacy-indicator:hover{background:var(--forest-green);transform:translateY(-1px);box-shadow:var(--shadow-warm-md)}.menu-button{background:var(--warm-orange);border:none;font-size:var(--font-size-lg);color:var(--white);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:all .3s ease;box-shadow:var(--shadow-warm-sm)}.menu-button:hover{background:var(--warm-orange-dark);transform:translateY(-1px);box-shadow:var(--shadow-warm-md)}.main{flex:1;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;width:100%;padding:0 var(--space-xl)}.messages{flex:1;padding:var(--space-lg) 0;display:flex;flex-direction:column;gap:var(--space-sm);min-height:calc(100vh - 200px);overflow-y:auto}.message{display:flex;flex-direction:column;max-width:75%;animation:slideInWarm .4s ease}.message.user{align-self:flex-end}.message.airen{align-self:flex-start}.message-content{background:var(--white);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-2xl);box-shadow:var(--shadow-warm-md);border:2px solid var(--warm-gray-200);position:relative;line-height:1.6}.message.user .message-content{background:linear-gradient(135deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);color:var(--white);border:2px solid var(--warm-orange-dark);text-shadow:0 1px 2px rgba(0,0,0,.1)}.message.airen .message-content{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);color:var(--warm-gray-800);border:2px solid var(--warm-gray-300)}.message.airen .message-content:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--warm-orange-light),var(--sage-green));border-radius:var(--radius-2xl);z-index:-1;opacity:.1}.message-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-sm)}.message-time{font-size:var(--font-size-xs);color:#6b7280;font-weight:600}.copy-button,.play-button{cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);opacity:.8;transition:all .25s ease;font-weight:600;line-height:1;border:none;backdrop-filter:blur(8px);min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.message:hover .copy-button,.message:hover .play-button{opacity:1}.typing{display:flex;align-items:center;gap:var(--space-sm);color:var(--warm-gray-500);font-size:var(--font-size-sm);padding:var(--space-lg);background:var(--warm-tan);border-radius:var(--radius-xl);box-shadow:var(--shadow-warm-sm);align-self:flex-start;max-width:200px}.typing-dots{display:flex;gap:var(--space-xs)}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--warm-orange);animation:warmPulse 1.4s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.input-area{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);border-top:1px solid var(--warm-gray-200);padding:var(--space-lg)}@media (min-width: 769px){.input-area{border-radius:0;transform:translate(-4.8px);width:calc(100% + 9.6px);margin:0}}.input-container{display:flex;gap:var(--space-md);max-width:1200px;margin:0 auto;align-items:flex-end}.input-field{flex:1;background:var(--warm-tan);border:2px solid var(--warm-gray-300);border-radius:var(--radius-xl);padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);font-family:inherit;resize:none;outline:none;transition:all .3s ease;color:var(--warm-gray-800);line-height:1.5}.input-field:focus{background:var(--white);border-color:var(--warm-orange);box-shadow:0 0 0 3px #ff8a6533;transform:translateY(-1px)}.input-field::placeholder{color:var(--warm-gray-400)}.send-button{background:linear-gradient(135deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);color:var(--white);border:none;border-radius:var(--radius-lg);padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:var(--space-xs);box-shadow:var(--shadow-warm-md);text-shadow:0 1px 2px rgba(0,0,0,.1)}.send-button:hover{background:linear-gradient(135deg,var(--warm-orange-dark) 0%,var(--warm-orange) 100%);transform:translateY(-2px);box-shadow:var(--shadow-warm-lg)}.send-button:disabled{background:var(--warm-gray-300);cursor:not-allowed;transform:none;box-shadow:var(--shadow-warm-sm)}.button-group{display:flex;gap:var(--space-sm);align-items:flex-end}.voice-button{background:linear-gradient(135deg,var(--sage-green) 0%,var(--sage-green-light) 100%);color:var(--white);border:none;border-radius:var(--radius-lg);padding:var(--space-md);font-size:var(--font-size-lg);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;box-shadow:var(--shadow-warm-sm)}.voice-button:hover{background:linear-gradient(135deg,var(--forest-green) 0%,var(--sage-green) 100%);transform:translateY(-2px);box-shadow:var(--shadow-warm-lg)}.voice-button:disabled{background:var(--warm-gray-300);cursor:not-allowed;transform:none;box-shadow:var(--shadow-warm-sm)}.voice-button.listening{background:linear-gradient(135deg,#dc2626,#ef4444);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:var(--shadow-warm-sm)}50%{box-shadow:0 0 20px #dc262666}to{box-shadow:var(--shadow-warm-sm)}}.footer{background:linear-gradient(135deg,var(--warm-gray-100) 0%,var(--warm-tan) 100%);border-top:1px solid var(--warm-gray-200);padding:var(--space-md);text-align:center}@media (min-width: 769px){.footer{border-radius:0;transform:translate(-4.8px);width:calc(100% + 9.6px);margin:0}}.footer-text{font-size:var(--font-size-xs);color:var(--warm-gray-500);font-weight:500}@keyframes slideInWarm{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes warmPulse{0%,80%,to{transform:scale(.7);opacity:.6}40%{transform:scale(1.1);opacity:1}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(4px)}.modal-content{background:linear-gradient(135deg,var(--white) 0%,var(--warm-gray-100) 100%);border-radius:var(--radius-2xl);box-shadow:var(--shadow-warm-lg);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;border:2px solid var(--warm-gray-300)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl) var(--space-xl) var(--space-lg);border-bottom:1px solid var(--warm-gray-200)}.modal-header h3{font-size:var(--font-size-xl);font-weight:600;color:var(--warm-brown);margin:0}.modal-close{background:none;border:none;font-size:var(--font-size-lg);color:var(--warm-gray-500);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:all .2s ease}.modal-close:hover{background:var(--warm-gray-200);color:var(--warm-gray-700)}.modal-body{padding:var(--space-lg) var(--space-xl) var(--space-xl)}.privacy-feature{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);align-items:flex-start}.privacy-feature:last-child{margin-bottom:0}.privacy-icon{font-size:var(--font-size-xl);min-width:40px;text-align:center}.privacy-feature h4{font-size:var(--font-size-lg);font-weight:600;color:var(--warm-brown);margin:0 0 var(--space-xs) 0}.privacy-feature p{font-size:var(--font-size-sm);color:var(--warm-gray-600);margin:0;line-height:1.5}@media (min-width: 1200px){.app{max-width:1600px}.header-content,.main,.input-container{max-width:1400px}.message{max-width:70%}}@media (max-width: 768px){.header{padding:var(--space-md) var(--space-lg)}.logo-subtitle{display:none}.main{padding:0 var(--space-lg)}.messages{padding:var(--space-md) 0;gap:var(--space-sm)}.message{max-width:90%}.message-content{padding:var(--space-md) var(--space-lg)}.input-area{padding:var(--space-md)}.input-container{flex-direction:row;gap:var(--space-sm);align-items:flex-end}.input-field{flex:1;min-width:0;resize:none;max-height:120px}.send-button{flex-shrink:0;padding:var(--space-md) var(--space-lg);min-height:44px;white-space:nowrap}}@media (max-width: 768px){.privacy-indicator{display:none!important}}@media (max-width: 480px){.header{padding:var(--space-sm) var(--space-md)}.main{padding:0 var(--space-md)}.messages{padding:var(--space-md) 0}.message-content{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.input-field{padding:var(--space-sm) var(--space-md)}}@media (display-mode: standalone){.app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.header{padding-top:max(var(--space-lg),env(safe-area-inset-top));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.main{max-width:1400px}.messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media (display-mode: standalone) and (-webkit-touch-callout: none){.header{padding-top:max(var(--space-lg),44px)}.messages{-webkit-overflow-scrolling:touch}.input-area{padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}}.header-pwa-status{margin-right:var(--space-sm)}@media (max-width: 768px){.header-pwa-status{margin-right:var(--space-xs)}}@keyframes slideInWarm{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.app.offline .header{background:linear-gradient(135deg,var(--warm-gray-400) 0%,var(--warm-gray-500) 100%)}.app.offline .privacy-indicator{background:var(--warm-gray-400)}.app.update-available .header{background:linear-gradient(135deg,var(--spark-gold) 0%,#FFE55C 100%);animation:gentlePulse 2s ease-in-out infinite}.message-content{contain:layout style;will-change:transform}.messages{contain:layout;transform:translateZ(0)}.welcome-screen{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);animation:fadeInWelcome .3s ease}@keyframes fadeInWelcome{0%{opacity:0}to{opacity:1}}.welcome-container{max-width:600px;width:100%;background:var(--white);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-warm-xl);border:2px solid var(--warm-orange-light);animation:slideInWelcome .4s ease}@keyframes slideInWelcome{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.welcome-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-2xl)}.welcome-header-left{flex:1;text-align:center}.welcome-header-right{display:flex;align-items:flex-start}.welcome-close-button{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-md);color:var(--gray-600);padding:var(--space-sm);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.welcome-close-button:hover{background:var(--gray-200);color:var(--gray-700);transform:scale(1.05)}.welcome-header h1{font-size:var(--font-size-2xl);font-weight:600;color:var(--gray-800);margin-bottom:var(--space-sm)}.welcome-subtitle{font-size:var(--font-size-lg);color:var(--gray-600);margin:0}.welcome-content{margin-bottom:var(--space-2xl);min-height:300px;display:flex;align-items:center}.welcome-intro{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);text-align:center;width:100%}.airen-avatar{margin-bottom:var(--space-lg)}.avatar-circle{width:80px;height:80px;background:linear-gradient(135deg,var(--privacy-emerald),var(--trust-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;animation:gentleBounce 2s infinite}.avatar-emoji{font-size:32px;line-height:1}.intro-text p{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--gray-700);margin-bottom:var(--space-md)}.intro-text p:last-child{margin-bottom:0}.privacy-explanation{width:100%}.privacy-features{display:flex;flex-direction:column;gap:var(--space-lg)}.feature{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--gray-50);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease)}.feature:hover{background:var(--safety-ivory);transform:translateY(-2px)}.feature-icon{font-size:var(--font-size-xl);line-height:1;flex-shrink:0}.feature h4{font-size:var(--font-size-md);font-weight:600;color:var(--gray-800);margin:0 0 var(--space-xs) 0}.feature p{font-size:var(--font-size-sm);color:var(--gray-600);margin:0;line-height:var(--line-height-normal)}.how-it-works{width:100%}.work-steps{display:flex;flex-direction:column;gap:var(--space-lg)}.work-step{display:flex;align-items:flex-start;gap:var(--space-md)}.step-number{width:32px;height:32px;background:var(--spark-gold);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);flex-shrink:0}.step-content h4{font-size:var(--font-size-md);font-weight:600;color:var(--gray-800);margin:0 0 var(--space-xs) 0}.step-content p{font-size:var(--font-size-sm);color:var(--gray-600);margin:0;line-height:var(--line-height-normal)}.welcome-navigation{display:flex;flex-direction:column;gap:var(--space-lg);align-items:center}.step-indicators{display:flex;gap:var(--space-sm)}.step-indicator{width:8px;height:8px;border-radius:50%;background:var(--gray-300);transition:all var(--duration-normal) var(--ease)}.step-indicator.active{background:var(--trust-blue);transform:scale(1.25)}.step-indicator.completed{background:var(--privacy-emerald)}.welcome-buttons{display:flex;gap:var(--space-md);width:100%;justify-content:center}.welcome-button{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:500;border:none;cursor:pointer;transition:all var(--duration-normal) var(--ease);min-width:120px}.welcome-button.primary{background:var(--trust-blue);color:#fff}.welcome-button.primary:hover{background:color-mix(in srgb,var(--trust-blue) 90%,black);transform:translateY(-1px);box-shadow:var(--shadow-md)}.welcome-button.secondary{background:var(--gray-100);color:var(--gray-700)}.welcome-button.secondary:hover{background:var(--gray-200);transform:translateY(-1px)}@media (max-width: 768px){.welcome-screen{padding:var(--space-sm);min-height:100vh;min-height:100dvh}.welcome-container{padding:var(--space-lg);max-width:95%;margin:0 auto}.welcome-header h1{font-size:var(--font-size-xl);line-height:1.2}.welcome-subtitle{font-size:var(--font-size-base);line-height:1.4}.welcome-content{min-height:200px}.avatar-circle{width:60px;height:60px}.avatar-emoji{font-size:24px}.intro-text p{font-size:var(--font-size-base);line-height:1.5}.privacy-features{gap:var(--space-md)}.feature{padding:var(--space-sm) var(--space-md)}.feature h4{font-size:var(--font-size-base)}.feature p{font-size:var(--font-size-sm);line-height:1.4}.work-steps{gap:var(--space-md)}.step-content h4{font-size:var(--font-size-base)}.step-content p{font-size:var(--font-size-sm);line-height:1.4}.welcome-buttons{flex-direction:column;gap:var(--space-sm)}.welcome-button{width:100%;padding:var(--space-lg) var(--space-xl);font-size:var(--font-size-base)}.welcome-title{font-size:2rem;line-height:1.1}.welcome-heading{font-size:1.5rem;line-height:1.2}.welcome-description{font-size:var(--font-size-base);line-height:1.5;margin-bottom:var(--space-xl)}.feature-card{padding:var(--space-lg)}.start-button{padding:1rem 1.5rem;font-size:var(--font-size-base)}}@media (max-width: 480px){.welcome-screen{padding:var(--space-xs)}.welcome-container{padding:var(--space-md);border-radius:var(--radius-lg)}.welcome-header{margin-bottom:var(--space-lg)}.welcome-title{font-size:1.75rem}.welcome-heading{font-size:1.25rem}.welcome-description{font-size:var(--font-size-sm)}.feature-card{padding:var(--space-md)}.welcome-features{grid-template-columns:1fr;gap:var(--space-md)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){.welcome-container,.avatar-circle{animation:none}.feature:hover,.welcome-button:hover{transform:none}}.airen-logo{text-align:center;margin-bottom:var(--space-lg)}.heart-icon{width:80px;height:80px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto var(--space-md);box-shadow:0 8px 32px #3b82f64d;animation:gentleBounce 3s infinite}.welcome-title{font-size:3rem;font-weight:700;color:var(--gray-800);margin:0 0 var(--space-sm) 0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-heading{font-size:2rem;font-weight:600;color:var(--gray-800);margin-bottom:var(--space-lg);text-align:center}.welcome-description{font-size:1.125rem;line-height:1.7;color:var(--gray-600);text-align:center;margin-bottom:var(--space-2xl)}.welcome-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.feature-card{padding:var(--space-xl);background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 6px #0000000d;border:1px solid var(--gray-100);text-align:center;transition:all .3s ease;cursor:pointer}.feature-card:hover,.feature-card.hovered{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#3b82f6}.feature-card .feature-icon{font-size:2rem;margin-bottom:var(--space-md);display:block}.feature-title{font-size:1.125rem;font-weight:600;color:var(--gray-800);margin:0 0 var(--space-sm) 0}.feature-description{font-size:.875rem;color:var(--gray-600);line-height:1.5;margin:0}.start-button{width:100%;max-width:320px;margin:0 auto var(--space-lg);padding:1rem 2rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:var(--radius-xl);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b82f666;display:block}.start-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f680;background:linear-gradient(135deg,#1d4ed8,#1e40af)}.start-button:active{transform:translateY(0)}.welcome-note{text-align:center;font-size:.875rem;color:var(--gray-500);margin:0;font-style:italic}.ready-to-start{width:100%}.start-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.option-card{padding:var(--space-xl);border-radius:var(--radius-xl);text-align:center;transition:all var(--duration-normal) var(--ease);cursor:pointer;border:2px solid transparent}.demo-option{background:linear-gradient(135deg,var(--warm-orange-light) 0%,var(--warm-orange) 100%);color:var(--white)}.demo-option:hover{transform:translateY(-4px);box-shadow:var(--shadow-warm-xl);border-color:var(--warm-orange-dark)}.start-option{background:linear-gradient(135deg,var(--trust-blue) 0%,var(--privacy-emerald) 100%);color:var(--white)}.start-option:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--trust-blue)}.option-icon{font-size:3rem;margin-bottom:var(--space-md);line-height:1}.option-content h4{font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--space-sm) 0}.option-content p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--space-lg);opacity:.9}.option-button{padding:var(--space-md) var(--space-xl);border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:var(--white);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--duration-normal) var(--ease);backdrop-filter:blur(10px)}.option-button:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px)}.demo-button:hover{box-shadow:0 4px 12px #ff8a4c4d}.start-button:hover{box-shadow:0 4px 12px #3b82f64d}@media (max-width: 768px){.start-options{grid-template-columns:1fr;gap:var(--space-md)}.option-card{padding:var(--space-lg)}.option-icon{font-size:2.5rem}.option-content h4{font-size:var(--font-size-md)}.option-content p{font-size:var(--font-size-xs)}}.airen-principles{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-lg)}.principle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--gray-50);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease)}.principle:hover{background:var(--safety-ivory);transform:translate(4px)}.principle-emoji{font-size:var(--font-size-lg);line-height:1;flex-shrink:0}.principle strong{color:var(--gray-800);font-weight:600;margin-right:var(--space-xs)}.principle{color:var(--gray-700);font-size:var(--font-size-sm)}.usage-guide{margin-top:var(--space-xl);padding:var(--space-lg);background:linear-gradient(135deg,var(--safety-ivory) 0%,var(--peaceful-lavender) 50%);border-radius:var(--radius-lg);border:1px solid rgba(var(--trust-blue-rgb),.1)}.usage-guide h4{font-size:var(--font-size-md);font-weight:600;color:var(--gray-800);margin:0 0 var(--space-md) 0;text-align:center}.guide-items{display:flex;flex-direction:column;gap:var(--space-xs)}.guide-items span{font-size:var(--font-size-sm);color:var(--gray-700);line-height:var(--line-height-normal)}.guide-items strong{color:var(--trust-blue);font-weight:600}.audio-preferences{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.audio-preferences h4{font-size:var(--font-size-md);font-weight:600;color:var(--gray-800);margin:0 0 var(--space-md) 0;text-align:center}.preference-toggles{display:flex;flex-direction:column;gap:var(--space-md)}.toggle-option{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease)}.toggle-option:hover{background:rgba(var(--trust-blue-rgb),.1)}.toggle-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--trust-blue)}.toggle-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--gray-700);font-weight:500}.toggle-icon{font-size:var(--font-size-md);line-height:1}.coming-soon{font-size:var(--font-size-xs);color:var(--gray-500);font-style:italic;font-weight:400}@media (max-width: 768px){.airen-principles{gap:var(--space-sm)}.principle{padding:var(--space-xs) var(--space-sm);flex-direction:column;text-align:center;gap:var(--space-xs)}.principle-emoji{font-size:var(--font-size-md)}.usage-guide{padding:var(--space-md);margin-top:var(--space-lg)}.audio-preferences{padding:var(--space-md);margin-bottom:var(--space-lg)}.preference-toggles{gap:var(--space-sm)}.guide-items{gap:var(--space-xs)}.guide-items span{font-size:var(--font-size-xs);line-height:1.4}}@media (prefers-contrast: high){.welcome-container{border:2px solid var(--gray-800)}.step-indicator{border:1px solid var(--gray-800)}.welcome-button.primary{border:2px solid var(--trust-blue)}.start-button{border:2px solid #3b82f6}.option-card{border:2px solid var(--white)}.principle{border:1px solid var(--gray-300)}.audio-preferences{border:2px solid var(--gray-400)}.usage-guide{border:2px solid var(--trust-blue)}}.pwa-install-overlay{position:fixed;inset:0;background:#3e272399;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--duration-normal) var(--ease-out);padding:var(--space-lg)}.pwa-install-prompt{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-warm-lg);padding:var(--space-2xl);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp var(--duration-normal) var(--ease-out);border:2px solid var(--warm-orange-light)}.pwa-install-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);text-align:center;justify-content:center}.pwa-install-icon{font-size:2.5rem;animation:gentleBounce 2s ease-in-out infinite}.pwa-install-header h3{font-size:var(--font-size-xl);font-weight:600;color:var(--gray-800);margin:0}.pwa-install-content{margin-bottom:var(--space-xl)}.pwa-install-message{font-size:var(--font-size-lg);color:var(--gray-700);margin-bottom:var(--space-lg);text-align:center;line-height:var(--line-height-relaxed)}.pwa-install-benefits{display:grid;gap:var(--space-md);margin-bottom:var(--space-lg)}.pwa-benefit{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--warm-beige);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--gray-700);transition:all var(--duration-fast) var(--ease)}.pwa-benefit:hover{background:var(--soft-peach);transform:translateY(-2px)}.benefit-icon{font-size:1.25rem;flex-shrink:0}.pwa-install-actions{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.pwa-install-button{flex:1;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease);border:2px solid transparent;min-height:48px;display:flex;align-items:center;justify-content:center}.pwa-install-button.primary{background:linear-gradient(135deg,var(--warm-orange) 0%,var(--warm-orange-light) 100%);color:var(--white);border-color:var(--warm-orange-dark)}.pwa-install-button.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-warm-md);background:linear-gradient(135deg,var(--warm-orange-dark) 0%,var(--warm-orange) 100%)}.pwa-install-button.secondary{background:var(--warm-beige);color:var(--gray-700);border-color:var(--warm-gray-300)}.pwa-install-button.secondary:hover{background:var(--warm-tan);color:var(--gray-800);transform:translateY(-1px)}.pwa-install-note{font-size:var(--font-size-sm);color:var(--gray-600);text-align:center;line-height:var(--line-height-normal);margin:0;font-style:italic}@media (max-width: 768px){.pwa-install-overlay{padding:var(--space-md);align-items:flex-end}.pwa-install-prompt{padding:var(--space-xl);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:80vh}.pwa-install-header h3{font-size:var(--font-size-lg)}.pwa-install-actions{flex-direction:column}.pwa-benefit{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-contrast: high){.pwa-install-prompt{border:3px solid var(--gray-900)}.pwa-install-button.primary{background:var(--gray-900);border-color:var(--gray-900)}.pwa-install-button.secondary{background:var(--white);border-color:var(--gray-900);color:var(--gray-900)}}@media (prefers-reduced-motion: reduce){.pwa-install-icon,.pwa-install-overlay,.pwa-install-prompt{animation:none}.pwa-benefit:hover,.pwa-install-button:hover{transform:none}}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--cream) 0%,var(--warm-beige) 50%,var(--soft-peach) 100%);background-attachment:fixed;position:relative}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream) 0%,var(--warm-beige) 50%,var(--soft-peach) 100%);background-attachment:fixed}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.spinner{width:40px;height:40px;border:3px solid var(--warm-tan);border-top-color:var(--warm-orange);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{font-size:var(--font-size-lg);color:var(--gray-600);font-weight:500}.app-error{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:linear-gradient(135deg,var(--gray-50) 0%,var(--safety-ivory) 100%)}.error-message{text-align:center;max-width:400px;padding:var(--space-2xl);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.error-message h2{font-size:var(--font-size-xl);font-weight:600;color:var(--gray-800);margin-bottom:var(--space-md)}.error-message p{color:var(--gray-600);margin-bottom:var(--space-xl);line-height:var(--line-height-relaxed)}.error-message button{background:var(--trust-blue);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);font-weight:500;transition:all var(--duration-normal) var(--ease)}.error-message button:hover{background:color-mix(in srgb,var(--trust-blue) 90%,black);transform:translateY(-1px)}.privacy-indicator{position:fixed;top:var(--space-md);left:var(--space-md);z-index:1000;background:var(--privacy-emerald);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-xs);box-shadow:var(--shadow-md);transition:all var(--duration-normal) var(--ease);cursor:pointer}.privacy-indicator:hover{background:color-mix(in srgb,var(--privacy-emerald) 90%,black);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.privacy-indicator .icon{font-size:var(--font-size-md)}@media (max-width: 768px){.privacy-indicator{top:var(--space-sm);left:var(--space-sm);font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm)}.error-message{margin:var(--space-md);padding:var(--space-xl)}.loading-spinner{padding:var(--space-md)}}@media (prefers-contrast: high){.privacy-indicator{border:2px solid white}.spinner{border-width:4px}}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-top-color:var(--privacy-emerald)}.privacy-indicator:hover{transform:none}}:root{--warm-orange: #ff8a65;--warm-orange-light: #ffab7a;--warm-orange-dark: #e57350;--warm-brown: #8d6e63;--warm-brown-light: #a1887f;--warm-brown-dark: #6d4c41;--cream: #fff8f5;--warm-beige: #f5f1ed;--warm-tan: #efebe7;--soft-peach: #ffe0d6;--soft-coral: #ffccbc;--forest-green: #66bb6a;--sage-green: #a5d6a7;--joy-coral: var(--warm-orange);--spark-gold: #FFD93D;--celebration-purple: var(--warm-brown);--peaceful-lavender: var(--soft-peach);--wisdom-sage: var(--sage-green);--depth-indigo: var(--warm-brown-dark);--privacy-emerald: var(--forest-green);--trust-blue: var(--warm-orange);--safety-ivory: var(--cream);--warm-gray-100: #f7f5f3;--warm-gray-200: #ede7e0;--warm-gray-300: #d7ccc8;--warm-gray-400: #bcaaa4;--warm-gray-500: #8d6e63;--warm-gray-600: #6d4c41;--warm-gray-700: #5d4037;--warm-gray-800: #4e342e;--warm-gray-900: #3e2723;--gray-50: var(--cream);--gray-100: var(--warm-beige);--gray-200: var(--warm-tan);--gray-300: #d7ccc8;--gray-400: #bcaaa4;--gray-500: var(--warm-brown);--gray-600: var(--warm-brown-dark);--gray-700: #5d4037;--gray-800: #4e342e;--gray-900: #3e2723;--white: #ffffff;--space-xs: 6px;--space-sm: 12px;--space-md: 18px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-family: "Poppins", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--line-height-tight: 1.25;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--shadow-warm-sm: 0 2px 8px rgba(141, 110, 99, .15);--shadow-warm-md: 0 4px 16px rgba(141, 110, 99, .2);--shadow-warm-lg: 0 8px 32px rgba(141, 110, 99, .25);--shadow-sm: 0 2px 8px rgba(141, 110, 99, .15);--shadow-md: 0 4px 16px rgba(141, 110, 99, .2);--shadow-lg: 0 8px 32px rgba(141, 110, 99, .25);--shadow-xl: 0 16px 48px rgba(141, 110, 99, .3);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--ease: cubic-bezier(.25, .46, .45, .94);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--gray-800);background:linear-gradient(135deg,var(--cream) 0%,var(--warm-beige) 50%,var(--soft-peach) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,var(--cream) 0%,var(--warm-beige) 50%,var(--soft-peach) 100%);background-attachment:fixed}#root{min-height:100vh;display:flex;flex-direction:column}*:focus{outline:2px solid var(--trust-blue);outline-offset:2px}*:focus:not(:focus-visible){outline:none}button{border:none;background:none;font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.6}input,textarea{border:none;background:none;font:inherit;color:inherit}input:focus,textarea:focus{outline:none}a{color:inherit;text-decoration:none}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only{@extend .visually-hidden;}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){html{font-size:var(--font-size-base)}button,input,textarea,select{min-height:44px}input,textarea,select{font-size:16px}}@media (prefers-contrast: high){:root{--gray-50: #FFFFFF;--gray-800: #000000;--trust-blue: #0000FF;--privacy-emerald: #008000}}@media (prefers-color-scheme: dark){:root{--gray-50: #111827;--gray-100: #1F2937;--gray-800: #F9FAFB;--gray-900: #FFFFFF}html{background-color:var(--gray-50);color:var(--gray-800)}}
