/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}.block{display:block}.block\!{display:block!important}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table\!{display:table!important}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)!important}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.\[random\:SEED\]{random:SEED}.\[rdoc-ref\:lib\/racc\/rdoc\/grammar\.en\.rdoc\]{rdoc-ref:lib/racc/rdoc/grammar.en.rdoc}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.invite-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.invite-container{width:100%;max-width:420px}.invite-card{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:20px;padding:40px 30px;box-shadow:0 20px 40px #0000001a}.invite-card.error-card{border-left:4px solid #ef4444}.icon{margin-bottom:20px;font-size:48px;display:block}.icon.invite-icon{animation:2s infinite bounce}.icon.error-icon,.icon.warning-icon{opacity:.8}.icon.success-icon{animation:2s infinite pulse}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.invite-card h1{color:#1f2937;letter-spacing:-.025em;margin:0 0 16px;font-size:28px;font-weight:700}.invite-message{color:#6b7280;margin:0 0 30px;font-size:16px;line-height:1.6}.invite-message strong{color:#1f2937;font-weight:600}.brand{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;font-weight:700}.error-message{color:#ef4444;font-weight:500}.sub-message{color:#9ca3af;margin:16px 0 24px;font-size:14px}.button-stack{flex-direction:column;gap:12px;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;padding:14px 24px;font-size:16px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 25px #00000026}.btn:active{transform:translateY(0)}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary:hover{box-shadow:0 8px 25px #667eea66}.btn-secondary{color:#6b7280;background:#f3f4f6}.btn-secondary:hover{color:#4b5563;background:#e5e7eb}.btn-outline{color:#6b7280;background:0 0;border:2px solid #e5e7eb}.btn-outline:hover{color:#667eea;background:#667eea0d;border-color:#667eea}.btn-large{padding:16px 32px;font-size:18px}.decline-section{margin-top:24px}.divider{background:linear-gradient(90deg,#0000,#e5e7eb,#0000);height:1px;margin:24px 0}.decline-question{color:#6b7280;margin:0 0 16px;font-size:14px}.loading-spinner{text-align:center;padding:60px 30px}.loading-spinner .spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;margin:0 auto 20px;animation:1s linear infinite spin}.loading-spinner p{color:#fff;margin:0;font-size:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message .typing-indicator{gap:4px;display:flex}.typing-indicator span{background-color:#999;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typing}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-center{text-align:center}.font-bold{font-weight:700}body{background-color:#f0f0f0;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.mobile-container{background-color:#f8f9fa;width:100%;max-width:428px;min-height:100vh;margin:0 auto;position:relative;box-shadow:0 0 20px #0000001a}@media (max-width:428px){.mobile-container{box-shadow:none}}.home-container{background-color:#f8f9fa;flex-direction:column;height:100vh;display:flex}h1{text-align:center;margin-bottom:20px}.chat-history{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:100%;margin-bottom:20px;padding:10px;display:flex;overflow-y:auto}.message{word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;border-radius:18px;max-width:80%;margin:5px 0;padding:10px 15px}.message.user{color:#fff;background-color:#0084ff;align-self:flex-end}.message.ai{color:#000;background-color:#e5e5ea;align-self:flex-start}.voice-interface,.text-interface{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:100%;display:flex}.voice-interface{align-items:center}.ai-circle{cursor:pointer;text-align:center;color:#fff;background-color:#28a745;border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;margin:30px 0;font-weight:500;transition:all .3s;display:flex}.ai-circle.recording{color:#fff;background-color:#dc3545}.input-form{padding:10px 0;display:flex}input{border:1px solid #ccc;border-radius:25px;flex:1;margin-right:10px;padding:12px 20px;font-size:16px}button{color:#fff;cursor:pointer;background-color:#0084ff;border:none;border-radius:25px;padding:12px 25px;font-size:16px;font-weight:500}.loading{justify-content:center;align-items:center;height:100%;display:flex}.bottom-nav{background-color:#f5f5f5;border-top:1px solid #ddd;justify-content:space-around;width:100%;max-width:428px;padding:0;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 5px #0000001a}.nav-item{cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;padding:8px 16px;transition:all .2s;display:flex}.nav-item.active{background-color:#e6e6e6;font-weight:700}.nav-item.disabled{opacity:.5;cursor:not-allowed;color:#999}.nav-item.disabled:hover{background-color:#0000}.nav-item .icon{margin-bottom:5px;font-size:24px}.content-area{height:calc(100vh - 150px);padding-bottom:70px;overflow-y:auto}.profile-section{padding:20px}.profile-info{background-color:#f9f9f9;border-radius:8px;margin-top:15px;padding:15px}.chat-history-container{flex:1;padding-bottom:70px;overflow-y:auto}.fixed-input-container{background-color:#fff;border-top:1px solid #eee;padding:10px;position:absolute;bottom:0;left:0;right:0}.input-form{width:100%;display:flex}.input-form input{border:1px solid #ddd;border-radius:4px 0 0 4px;flex:1;padding:10px}.input-form button{color:#fff;cursor:pointer;background-color:#0084ff;border:none;border-radius:0 4px 4px 0;padding:10px 15px}.text-interface{flex-direction:column;height:100%;display:flex;position:relative}.chat-history-container{box-sizing:border-box;flex:1;width:100%;max-width:100%;padding-bottom:80px;overflow-y:auto}.chat-input-wrapper{box-sizing:border-box;background-color:#f8f8f8;border-top:1px solid #eee;width:100%;max-width:428px;padding:10px 15px;position:fixed;bottom:73px;left:50%;transform:translate(-50%)}.chat-input-container{max-width:100%;margin:0 auto}.chat-input-form{align-items:center;width:100%;max-width:100%;display:flex}.message-input{box-sizing:border-box;border:1px solid #ddd;border-radius:20px;outline:none;flex:1;min-width:0;padding:12px 16px;font-size:16px}.send-button{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:5px;margin-left:10px;padding:12px 24px;font-weight:500}@keyframes wave{0%{transform:scale(1)}25%{transform:scale(1.03)}50%{transform:scale(1)}75%{transform:scale(1.03)}to{transform:scale(1)}}.relationships-section{border-top:1px solid #eee;margin-top:30px;padding-top:20px}.relationships-section h3{margin-bottom:15px;font-size:1.2em}.relationships-section h4{color:#555;margin:15px 0 10px;font-size:1em}.add-partner-form{background-color:#fff;border-radius:8px;margin-bottom:20px;padding:15px;box-shadow:0 2px 4px #0000000d}.form-group{margin-bottom:15px}.form-group label{margin-bottom:8px;font-weight:500;display:block}.input-with-button{gap:10px;display:flex}.input-with-button input{border:1px solid #ddd;border-radius:4px;flex:1;padding:10px 12px}.status-message{border-radius:4px;margin-top:10px;padding:8px 12px;font-size:14px}.status-message.error{color:#d32f2f;background-color:#fdeded;border-left:3px solid #d32f2f}.status-message.success{color:#2e7d32;background-color:#edf7ed;border-left:3px solid #2e7d32}.status-message.loading{color:#1976d2;background-color:#e3f2fd;border-left:3px solid #1976d2}.relationship-status-message{color:#2e7d32;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-weight:500}.relationship-status-message p{margin:0}.current-relationships{background-color:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000000d}.pending-relationship{background-color:#fff8e1;border:1px solid #ffb74d;border-radius:8px;margin-bottom:15px;padding:15px}.pending-relationship p{color:#333;margin:5px 0}.resend-invitation-section{border-top:1px solid #f0f0f0;margin-top:15px;padding-top:15px}.resend-invitation-button{color:#fff;cursor:pointer;background-color:#ff9800;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s}.resend-invitation-button:hover:not(:disabled){background-color:#f57c00}.resend-invitation-button:disabled{cursor:not-allowed;opacity:.6;background-color:#ffcc80}.logout-button{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:5px;padding:10px 20px;font-size:14px;font-weight:600;transition:background-color .2s}.logout-button:hover:not(:disabled){background-color:#c82333}.logout-button:disabled{cursor:not-allowed;opacity:.6}.logout-section{border-top:1px solid #ddd;margin-top:20px;padding-top:20px}.top-nav{z-index:10;background-color:#f8f9fa;border-bottom:1px solid #eee;padding:15px 20px;position:sticky;top:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}