:root{--primary-light:224 242 254;--primary-default:14 165 233;--primary-mid:44 62 80;--primary-dark:3 105 161;--primary-blue:157 180 212;--primary-gray:71 71 71;--secondary-light:229 244 247;--secondary-lighter:238 252 255;--secondary-default:20 184 166;--secondary-dark:15 118 110;--neutral-lightest:248 250 252;--neutral-lighter:241 245 249;--neutral-light:226 232 240;--neutral-mid:199.39 205.79 214.99;--neutral-default:100 116 139;--neutral-dark:51 65 85;--neutral-darker:30 41 59;--neutral-blue-lightest:249.06 250.94;--neutral-gray-lightest:251 251 251;--success-light:209 250 229;--success-default:16 185 129;--success-dark:4 120 87;--warning-light:254 243 199;--warning-default:245 158 11;--warning-dark:180 83 9;--error-light:254 226 226;--error-default:239 68 68;--error-dark:185 28 28;--hover-yellow:98 99 72;--hover-purple:92 116 206;--hover-blue:157 180 212;--hover-light:224 242 254;--ts-control-padding-horizontal:0.75rem;--ts-control-padding-vertical:0.5rem;--ts-border-radius:0.375rem;--ts-border-color:rgb(var(--neutral-light));--ts-control-bg:#fff;--ts-dropdown-border-color:rgb(var(--neutral-light));--ts-dropdown-background-color:rgb(var(--neutral-lightest));--ts-dropdown-border-radius:0.375rem;--ts-item-bg:rgb(var(--primary-default));--ts-item-color:#fff;--ts-item-border-radius:0.25rem;--ts-item-padding-horizontal:0.5rem;--ts-item-padding-vertical:0.25rem;--ts-optgroup-header-color:rgb(var(--neutral-default))}body{font-family:Inter,sans-serif;background-color:rgb(var(--neutral-lighter));color:rgb(var(--neutral-darker));height:100%;margin:0;padding:0;overflow:hidden}#loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgb(var(--neutral-lightest));display:flex;justify-content:center;align-items:center;z-index:4;opacity:1;transition:opacity .5s ease-out,visibility 1s ease-out;visibility:visible}#loading-overlay.hidden{opacity:0;visibility:hidden}.spinner{width:48px;height:48px;border:5px solid rgb(var(--neutral-light));border-bottom-color:rgb(var(--primary-default));border-radius:50%;display:inline-block;box-sizing:border-box;animation:a 1s linear infinite}@keyframes a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.main-header-container{max-width:1280px;margin-left:auto;margin-right:auto}.header-compensation{padding-top:4.5rem!important;flex-grow:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.page-content-wrapper{flex-grow:1;overflow-y:auto;background-color:rgb(var(--neutral-lighter));padding:0;max-width:1280px;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column}#main-app{height:100vh;max-height:100vh;overflow:hidden;width:100%}.tab-button{padding:.5rem 1rem;text-align:center;font-weight:600;transition:background-color .2s,color .2s;cursor:pointer;position:relative;color:rgb(var(--neutral-default));border-radius:.375rem}.tab-button.active{background-color:rgb(var(--primary-light));color:rgb(var(--primary-dark))}.tab-button:hover{background-color:rgb(var(--neutral-lightest));color:rgb(var(--neutral-darker))}.notification-dot{position:absolute;top:.25rem;right:.25rem;width:8px;height:8px;background-color:rgb(var(--error-default));border-radius:9999px;border:2px solid #fff;display:none}.tab-button.has-notification .notification-dot{display:block;animation:b 1.5s infinite}@keyframes b{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.7}to{transform:scale(1);opacity:1}}.chat-input-compensation{padding-bottom:4.5rem!important}.chat-container{overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;flex-grow:1;min-height:0}.chat-message-container{display:flex;max-width:80%;margin-bottom:.25rem}.chat-message-container.bot{align-self:flex-start}.chat-message-container.user{align-self:flex-end}.chat-bubble{padding:.5rem .75rem;border-radius:1.5rem;word-break:break-word;display:flex;flex-direction:row;line-height:1.4}.chat-message-container.bot .chat-bubble{background-color:rgb(var(--neutral-light));color:rgb(var(--neutral-darker));border-bottom-left-radius:.25rem}.chat-message-container.user .chat-bubble{background-color:rgb(var(--primary-default));color:#fff;border-bottom-right-radius:.25rem}.chat-timestamp{font-size:.65rem;align-self:flex-end;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;white-space:nowrap;margin-top:.25rem}.chat-message-container.user .chat-timestamp{color:hsla(0,0%,100%,.75)}.chat-message-container.bot .chat-timestamp{color:rgb(var(--neutral-default))}.chat-message-container:hover .chat-timestamp,.chat-timestamp.visible{opacity:1}.chat-date-divider{text-align:center;font-size:.75rem;font-weight:500;color:rgb(var(--neutral-default));padding:.75rem 0}.chat-input-max-width{max-width:1280px;margin:0 auto;width:100%}.chat-input-container{border-top:1px solid rgb(var(--neutral-light));padding:.5rem;background-color:#fff;display:flex;gap:.5rem;align-items:flex-end;position:relative}.chat-input{flex-grow:1;border-radius:1rem;border:1px solid rgb(var(--neutral-light));padding:.5rem 1rem;font-size:1rem;outline:none;resize:none;overflow-y:hidden;max-height:120px}.chat-input:focus{border-color:rgb(var(--primary-default))}.emoji-picker-container{position:absolute;bottom:100%;left:.5rem;margin-bottom:.5rem;z-index:2}.send-button{background-color:rgb(var(--primary-default));color:#fff;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;justify-content:center;align-items:center;font-size:1.25rem;transition:background-color .2s;flex-shrink:0}.send-button:hover{background-color:rgb(var(--primary-dark))}.list-item{display:flex!important;justify-content:space-between;align-items:center;background-color:#fff;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgb(var(--neutral-light));box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer;transition:background-color .2s}.hidden-list-item{display:none!important}.list-item:hover{background-color:rgb(var(--neutral-lightest))}#compass-list .list-item,#goals-list .list-item,#journal-entries .list-item{list-style-type:none}.list-item-main-content{flex-grow:1;min-width:0;margin-right:.5rem}.list-item-text{color:rgb(var(--neutral-darker));font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-category{background-color:rgb(var(--neutral-lighter));padding:.125rem .5rem;border-radius:.75rem;display:inline-block}.list-item-category,.list-item-timestamp{font-size:.75rem;color:rgb(var(--neutral-default));margin-top:.25rem}.list-item-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.list-item-actions button{color:#9ca3af;border:none;padding:.125rem;cursor:pointer;transition:color .2s}.modal{background-color:#fff;border-radius:1rem;padding:.25rem;box-shadow:0 4px 6px rgba(0,0,0,.1);width:90%;max-width:600px;display:flex;flex-direction:column;max-height:80vh}.modal.modal-large{height:80vh}.modal-header{justify-content:space-between;flex-shrink:0}.modal-header,.modal-title{display:flex;align-items:center}.modal-title{font-size:1.25rem;font-weight:600;gap:.5rem}.modal-body{padding:1.5rem;overflow-y:auto;flex-grow:1;background-color:rgb(var(--neutral-lighter));min-height:0}.modal-large .modal-body{display:flex;flex-direction:column}.modal-large .modal-body textarea{flex-grow:1;resize:none}.modal-body.prose{color:rgb(var(--neutral-dark))}.modal-body.prose h2{margin-top:.25em;margin-bottom:.5em;border-bottom:1px solid rgb(var(--neutral-light))}.modal-body.prose h3{margin-top:.25em}.modal-body.prose blockquote{border-left:4px solid rgb(var(--secondary-default));color:rgb(var(--neutral-default))}.modal-body.prose blockquote,.modal-body pre{background-color:rgb(var(--neutral-lightest))}.modal-body pre{border:1px solid rgb(var(--neutral-light))}.modal-footer{padding:1rem 1.5rem;border-top:1px solid rgb(var(--neutral-lighter));display:flex;justify-content:flex-end;gap:.5rem;flex-shrink:0}.tooltip-container{position:relative;display:inline-block}.tooltip-icon{cursor:pointer;color:#9ca3af}.tooltip-text{visibility:hidden;width:220px;background-color:rgb(var(--neutral-darker));color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-110px;opacity:0;transition:opacity .3s}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#1e293b transparent transparent}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.tooltip-container.flip-to-bottom .tooltip-text{top:150%;bottom:auto}.tooltip-container.flip-to-bottom .tooltip-text:after{bottom:100%;top:auto;border-color:transparent transparent #1e293b}.connect-prompt-container,.unpartnered-view-container{display:none;flex-grow:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-color:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05)}#modal-content input,#modal-content select,#modal-content textarea{background-color:#fff}.modal-body.prose{color:#374151;line-height:1.6}.modal-body.prose h2{font-size:1.5rem;font-weight:700;margin-top:1.5em;margin-bottom:.75em;border-bottom:1px solid #d1d5db;padding-bottom:.25em}.modal-body.prose h3{font-size:1.25rem;font-weight:600;margin-top:1.25em;margin-bottom:.5em}.modal-body.prose p{margin-bottom:1em}.modal-body.prose ul{list-style-type:disc;padding-left:1.5rem;margin-bottom:1em}.modal-body.prose blockquote{border-left:4px solid #8b5cf6;padding-left:1rem;margin-left:0;margin-right:0;font-style:italic;color:#4b5563;background-color:#f3f4f6;padding-top:.5rem;padding-bottom:.5rem;border-radius:0 .5rem .5rem 0}.modal-body pre{white-space:pre-wrap;word-wrap:break-word;font-family:Inter,sans-serif;background-color:#f9fafb;border-radius:.5rem;padding:1rem;width:100%;border:1px solid #d1d5db}.toast{padding:1rem 1.5rem;background-color:rgb(var(--success-default));color:#fff;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);font-weight:500;opacity:0;transform:translateX(100%);transition:all .4s cubic-bezier(.215,.61,.355,1)}.toast.toast-error{background-color:rgb(var(--error-default))}.toast.show{opacity:1;transform:translateX(0)}.profile-avatar{border-radius:50%;object-fit:cover;background-color:rgb(var(--neutral-lighter))}.journal-entry-card{@apply bg-white rounded-lg shadow-sm p-4 sm:p-6 relative transition-shadow duration-200 hover:shadow-md}.journal-date-header{@apply text-xl font-semibold text-neutral-darker pb-2 mb-4 border-b;font-family:Lora,serif}.journal-entry-content .ql-editor{padding:0}#modal-body .ql-toolbar{@apply rounded-t-lg border-gray-300 bg-gray-50}#modal-body .ql-container{@apply rounded-b-lg border-gray-300;min-height:250px;font-size:16px;color:rgb(var(--neutral-darker))}#modal-body .ql-editor{@apply h-full}.ql-snow .ql-editor h1{@apply text-2xl font-bold mb-3}.ql-snow .ql-editor h2{@apply text-xl font-semibold mb-2}.ql-snow .ql-editor a{@apply text-sky-600 hover:underline}.ql-snow .ql-editor blockquote{@apply border-l-4 border-gray-300 pl-4 text-gray-600 italic my-4}.ql-snow .ql-editor img{@apply rounded-lg max-w-full my-4 shadow}.ql-snow .ql-editor ol,.ql-snow .ql-editor ul{@apply pl-6}.ql-snow .ql-editor li{@apply mb-2}.ql-snow .ql-editor pre.ql-syntax{@apply bg-gray-800 text-white p-4 rounded-lg overflow-x-auto}label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:rgb(var(--neutral-dark));letter-spacing:.01em}.ts-control,.ts-dropdown [data-selectable].option,input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{display:block;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;color:rgb(var(--primary-mid));background-color:rgb(var(--neutral-gray-lightest));background-clip:padding-box;border:1px solid rgb(var(--neutral-mid));-moz-appearance:none;appearance:none;border-radius:.5rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.ts-control:not(.focus):not(.disabled):hover,input[type=date]:not(:disabled):not(:focus):hover,input[type=datetime-local]:not(:disabled):not(:focus):hover,input[type=email]:not(:disabled):not(:focus):hover,input[type=month]:not(:disabled):not(:focus):hover,input[type=number]:not(:disabled):not(:focus):hover,input[type=password]:not(:disabled):not(:focus):hover,input[type=search]:not(:disabled):not(:focus):hover,input[type=tel]:not(:disabled):not(:focus):hover,input[type=text]:not(:disabled):not(:focus):hover,input[type=time]:not(:disabled):not(:focus):hover,input[type=url]:not(:disabled):not(:focus):hover,input[type=week]:not(:disabled):not(:focus):hover,select:not(:disabled):not(:focus):hover,textarea:not(:disabled):not(:focus):hover{border-color:rgb(var(--hover-purple))}.ts-control.focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{outline:none;border-color:rgb(var(--primary-default));box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 4px rgba(var(--primary-default),.25)}::placeholder{color:rgb(var(--neutral-default));opacity:1}input[type=checkbox],input[type=radio]{position:absolute;opacity:0;width:0;height:0}.form-check-label{display:inline-flex;align-items:center;cursor:pointer;font-weight:400;color:rgb(var(--neutral-darker));margin-bottom:0}.form-check-input{display:inline-block;flex-shrink:0;height:1.25em;width:1.25em;margin-right:.5em;background-color:#fff;border:1px solid rgb(var(--neutral-mid));transition:all .2s ease-in-out}input[type=checkbox]+.form-check-input{border-radius:.375rem}input[type=radio]+.form-check-input{border-radius:50%}input:checked+.form-check-input{background-color:rgb(var(--primary-default));border-color:rgb(var(--primary-default));background-repeat:no-repeat;background-position:50%;background-size:100% 100%}input[type=checkbox]:checked+.form-check-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3E%3C/svg%3E")}input[type=radio]:checked+.form-check-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}input:focus+.form-check-input{box-shadow:0 0 0 4px rgba(var(--primary-default),.25)}:disabled,[disabled]{background-color:rgb(var(--neutral-lighter));color:rgb(var(--neutral-default));cursor:not-allowed;border-color:rgb(var(--neutral-light));box-shadow:none}input[type=checkbox]:disabled+.form-check-input,input[type=radio]:disabled+.form-check-input{opacity:.7}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.ts-wrapper:not(.form-control,.form-select){min-width:150px}.ts-wrapper{position:relative}.ts-wrapper.single.has-items .ts-control input{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;padding:0;border:none;background:transparent}.ts-dropdown{background-color:rgb(var(--neutral-lightest));border:1px solid rgb(var(--neutral-mid));box-shadow:0 4px 6px rgba(0,0,0,.1);margin-top:0}.ts-dropdown [data-selectable].option{border-radius:0;line-height:1;padding:.75rem;box-shadow:inset 0 1px 0 rgba(0,0,0,.075);border:0}.ts-dropdown [data-selectable].option:first-child{box-shadow:none}#modal-container .ts-dropdown{z-index:3}.ts-dropdown .create{color:rgb(var(--primary-dark))}.ts-dropdown .option.selected{background-color:#99c3ff}.ts-dropdown .option:hover:not(.selected){background-color:rgb(var(--hover-light));color:rgb(var(--primary-gray))}.ts-dropdown .active{background-color:rgb(var(--primary-default));color:#fff}.filter-dropdown .ts-control,select.filter-dropdown{padding:.5rem 1rem!important}.firebase-emulator-warning{display:none}