.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:all .3s ease-in-out;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--color-surface-container-highest);color:var(--color-on-surface);border:1px solid var(--color-outline-variant)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-container-high)}.btn-tertiary{background-color:transparent;color:var(--color-primary)}.btn-tertiary:hover:not(:disabled){background-color:#97436214}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn.is-loading{pointer-events:none}.btn .spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.card{background-color:var(--color-surface-container-lowest);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:box-shadow .3s ease-in-out}.card:hover{box-shadow:var(--shadow-md)}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:var(--label-md);font-weight:500;color:var(--color-on-surface);text-transform:none}.input{padding:.75rem 1rem;border:none;border-radius:var(--radius-md);background-color:var(--color-surface-container-low);color:var(--color-on-surface);font-family:var(--font-sans);font-size:1rem;transition:all .3s ease-in-out}.input:focus{outline:none;background-color:var(--color-surface-container-lowest);box-shadow:0 0 0 3px #9743621a}.input:disabled{opacity:.6;cursor:not-allowed}.input.is-error{background-color:#fef2f2}.input.is-error:focus{box-shadow:0 0 0 3px #dc26261a}.input-error{font-size:.875rem;color:#dc2626}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in-out}.modal-content{background-color:#f4faff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);min-width:600px;max-width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-in-out}@media (max-width: 768px){.modal-content{min-width:auto}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--spacing-8);border-bottom:none}.modal-title{font-family:var(--font-sans);font-size:1.125rem;font-weight:600;color:var(--color-primary);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-on-surface);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background-color .2s ease}.modal-close:hover{background-color:var(--color-surface-container-high)}.modal-body{padding:1.5rem var(--spacing-8) var(--spacing-8);border-top:1px solid rgba(157,182,195,.15)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-4);padding:var(--spacing-8)}.spinner{border:4px solid var(--color-surface-container-high);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.spinner-sm{width:2rem;height:2rem}.spinner-md{width:3rem;height:3rem}.spinner-lg{width:4rem;height:4rem}.loading-message{color:var(--color-on-surface);font-size:.9rem;margin:0}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:calc(100vw - 3rem)}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--radius-md, .75rem);box-shadow:0 8px 24px #1d354026;font-family:var(--font-sans);font-size:.9rem;line-height:1.4;min-width:260px;max-width:380px;pointer-events:all;opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease}.toast-visible{opacity:1;transform:translateY(0)}.toast-clickable{cursor:pointer}.toast-clickable:hover{transform:translateY(-2px)}.toast-clickable.toast-visible{transition:opacity .22s ease,transform .22s ease,box-shadow .18s ease}.toast-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.toast-success .toast-icon .material-symbols-outlined{color:#16a34a;font-size:1.25rem}.toast-info{background-color:#fff8db;border:1px solid #f5d97b;color:#8a5a00}.toast-info .toast-icon .material-symbols-outlined{color:#d59200;font-size:1.25rem}.toast-error{background-color:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.toast-error .toast-icon .material-symbols-outlined{color:#e11d48;font-size:1.25rem}.toast-message{flex:1;font-weight:500}.toast-icon{display:flex;align-items:center;flex-shrink:0}.toast-close{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;opacity:.5;transition:opacity .15s ease;flex-shrink:0;color:inherit}.toast-close:hover{opacity:1}.toast-close .material-symbols-outlined{font-size:1.1rem}@media (max-width: 480px){.toast-container{bottom:1rem;right:1rem;left:1rem;max-width:none}.toast{min-width:0;max-width:none;width:100%}}@media (max-width: 640px){body.has-mobile-bottom-widget .toast-container{bottom:calc(1rem + var(--mobile-bottom-ui-offset, 0px))}}.navbar{position:fixed;top:0;left:0;right:0;z-index:50;background:#f4faffcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(157,182,195,.15)}.navbar-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-6);height:4rem;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8)}@media (max-width: 640px){.navbar-container{padding:0 var(--spacing-4);height:3.5rem}}@media (max-width: 540px){.navbar-container{justify-content:space-between;gap:0}.navbar-tabs-mobile{order:1;flex:1;display:flex;justify-content:flex-start}.navbar-brand{order:2;flex:0 0 auto;gap:0}.navbar-actions{order:3;flex:1;display:flex;justify-content:flex-end}}.navbar-brand{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.navbar-logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;font-style:italic;color:var(--color-primary);text-decoration:none}.navbar-tabs{display:flex;gap:var(--spacing-4);flex:1;justify-content:center}.navbar-tab{padding:var(--spacing-2) var(--spacing-6);font-size:.9375rem;font-weight:600;color:#4b626e;text-decoration:none;border-bottom:2px solid transparent;transition:all .3s ease-in-out}.navbar-tab:hover{color:var(--color-primary)}.navbar-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.navbar-actions{display:flex;align-items:center;gap:var(--spacing-4);flex-shrink:0}.navbar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:transparent;border:none;border-radius:50%;color:var(--color-on-surface);cursor:pointer;transition:all .2s ease-in-out}.navbar-icon-btn:hover{background-color:#9743621a;color:var(--color-primary)}.navbar-icon-btn:active{transform:scale(.95)}@media (max-width: 640px){.navbar-icon-btn{width:2.25rem;height:2.25rem}.navbar-tabs{gap:var(--spacing-1)}}.navbar-tabs-mobile{display:none;position:relative;flex-shrink:0}@media (max-width: 540px){.navbar-tabs{display:none}.navbar-tabs-mobile{display:flex}}.navbar-tab-dropdown{position:absolute;top:calc(100% + .5rem);left:0;background:#f4fafff7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(157,182,195,.25);border-radius:var(--radius-md);box-shadow:0 4px 20px #1d35401f;min-width:9rem;z-index:100;overflow:hidden;padding:.375rem 0}.navbar-tab-dropdown-item{display:block;padding:.625rem 1rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:#4b626e;text-decoration:none;border-radius:0;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.navbar-tab-dropdown-item:hover{background-color:#9743620f;color:#4b626e}.navbar-tab-dropdown-item.active{color:var(--color-primary)}.app-footer{background-color:var(--color-surface-container-low);margin-top:var(--spacing-10);padding:var(--spacing-8);border-top:1px solid rgba(157,182,195,.15)}.app-footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-8);align-items:start}.app-footer-left{display:flex;flex-direction:column}.app-footer-logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;font-style:italic;color:var(--color-primary);margin-bottom:var(--spacing-2)}.app-footer-text{font-family:var(--font-sans);font-size:.875rem;color:#9db6c3;margin:0}.app-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-6)}.app-footer-links a{font-family:var(--font-sans);font-size:.875rem;color:#9db6c3;text-decoration:none;transition:all .3s ease-in-out}.app-footer-links a:hover{color:var(--color-primary);text-decoration:underline;text-decoration-color:var(--color-primary-container)}@media (max-width: 768px){.app-footer-content{grid-template-columns:1fr;gap:var(--spacing-6)}.app-footer-links{justify-content:flex-start}}.app-layout-main{margin-top:5rem;min-height:calc(100vh - 5rem);background-color:var(--color-surface)}@media (max-width: 640px){.app-layout-main{margin-top:4rem;min-height:calc(100vh - 4rem)}}.app-layout-container{max-width:1200px;margin:0 auto;padding:var(--spacing-8) var(--spacing-6)}@media (max-width: 640px){.app-layout-container{padding:var(--spacing-6) var(--spacing-4)}}.create-date-form{width:100%}.create-date-form-title{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.create-date-form-preview-label{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px}.dashboard-form-group{margin-bottom:var(--spacing-6)}.dashboard-form-label{display:block;font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:#4b626e;margin-bottom:var(--spacing-2);margin-left:.25rem}.dashboard-form-textarea{width:100%;background-color:#e7f6ff;border:none;border-radius:var(--radius-md);padding:var(--spacing-4);font-family:var(--font-sans);font-size:1rem;color:#4b626e;min-height:100px;resize:none;transition:all .3s ease-in-out}.dashboard-form-input{width:100%;height:2.75rem;background-color:#e7f6ff;border:none;border-radius:var(--radius-md);padding:var(--spacing-4);font-family:var(--font-sans);font-size:1rem;color:#4b626e;transition:all .3s ease-in-out}.dashboard-form-input::placeholder,.dashboard-form-textarea::placeholder{color:#9db6c3}.dashboard-form-input:focus,.dashboard-form-textarea:focus{outline:none;background-color:#fff;box-shadow:0 -4px 24px #9743620f}.dashboard-form-input[type=date]::-webkit-calendar-picker-indicator,.dashboard-form-input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;color:var(--color-primary);opacity:1;margin-right:var(--spacing-2)}.dashboard-form-input[type=date]::-webkit-calendar-picker-indicator:hover,.dashboard-form-input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{background-color:#9743621a;border-radius:4px}.dashboard-form-input[type=date],.dashboard-form-input[type=datetime-local]{color-scheme:light}.dashboard-form-input[type=date]::-moz-calendar-picker-indicator,.dashboard-form-input[type=datetime-local]::-moz-calendar-picker-indicator{cursor:pointer;color:var(--color-primary);opacity:1}.dashboard-form-actions{display:flex;flex-direction:column;gap:var(--spacing-4)}@media (min-width: 640px){.dashboard-form-actions{flex-direction:row;gap:var(--spacing-4)}}.dashboard-btn-secondary{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);background-color:#cde6f4;color:var(--color-on-surface);border:none;border-radius:9999px;padding:var(--spacing-4);font-family:var(--font-sans);font-weight:600;font-size:1rem;text-align:center;cursor:pointer;transition:all .3s ease-in-out}.dashboard-btn-secondary:hover{background-color:#d5ecf8}.dashboard-btn-primary{flex:1.5;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container))!important;color:#fff;border:none;border-radius:9999px;padding:var(--spacing-4);font-family:var(--font-sans);font-weight:700;font-size:1rem;text-align:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:all .3s ease-in-out}.dashboard-btn-primary:hover{box-shadow:0 12px 32px #97436233}.dashboard-btn-primary:active,.dashboard-btn-secondary:active{transform:scale(.98)}.dashboard-btn-primary:disabled,.dashboard-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.dashboard-btn-primary:disabled:hover{box-shadow:var(--shadow-lg)}.dashboard-modal-content{display:flex;flex-direction:column;gap:var(--spacing-8)}.dashboard-modal-section{display:flex;flex-direction:column;gap:var(--spacing-2)}.dashboard-modal-content .dashboard-form-input{background-color:#fff}.dashboard-modal-checkbox{display:flex;align-items:center;gap:var(--spacing-2);margin-top:.25rem}.dashboard-modal-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--color-primary)}.dashboard-modal-checkbox-label{font-family:var(--font-sans);font-size:.9375rem;color:var(--color-on-surface);cursor:pointer;margin:0}.dashboard-modal-actions{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-8);margin-top:var(--spacing-6);padding-top:var(--spacing-8);border-top:1px solid rgba(157,182,195,.15)}.dashboard-modal-actions-right{display:flex;gap:var(--spacing-4);flex:1;justify-content:flex-end}.dashboard-modal-actions-right button{flex:0 1 auto}.dashboard-modal-btn{padding:var(--spacing-2) var(--spacing-6);border:none;border-radius:9999px;font-family:var(--font-sans);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .3s ease-in-out}.dashboard-modal-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;box-shadow:var(--shadow-lg)}.dashboard-modal-btn-primary:hover{box-shadow:0 12px 32px #97436233}.dashboard-modal-btn-secondary{background-color:#cde6f4;color:var(--color-on-surface)}.dashboard-modal-btn-secondary:hover{background-color:#d5ecf8}.dashboard-modal-btn-tertiary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.dashboard-modal-btn-tertiary:hover{background-color:#9743620d}.dashboard-modal-btn-primary:active,.dashboard-modal-btn-secondary:active,.dashboard-modal-btn-tertiary:active{transform:scale(.98)}.dashboard-modal-btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-modal-btn:disabled:hover{box-shadow:var(--shadow-lg)}@media (max-width: 640px){.dashboard-modal-actions{flex-direction:column;gap:var(--spacing-4);justify-content:flex-start}.dashboard-modal-actions-right{order:1;width:100%;flex-direction:column-reverse}.dashboard-modal-actions>button{order:2;width:100%}.dashboard-modal-actions-right button{width:100%}}.create-date-form--compact .dashboard-form-group{margin-bottom:var(--spacing-4)}.create-date-form--compact .dashboard-form-textarea{min-height:70px}.create-date-form--compact .dashboard-form-actions{flex-direction:column;gap:var(--spacing-2)}@media (min-width: 640px){.create-date-form--compact .dashboard-form-actions{flex-direction:row}}.create-date-form--compact .dashboard-btn-secondary{flex:1.4}.create-date-form--compact .dashboard-btn-primary{flex:1;align-self:flex-end}@media (max-width: 639px){.create-date-form--compact .dashboard-btn-primary{align-self:stretch}}.create-date-form--compact .dashboard-btn-primary,.create-date-form--compact .dashboard-btn-secondary{font-size:.8125rem;padding:.45rem 1.1rem}.cdf-add-location-btn{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-primary);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem 0;margin-top:var(--spacing-1, .25rem);align-self:flex-start;transition:opacity .2s}.cdf-add-location-btn:hover{opacity:.8}.create-date-form .dashboard-form-group:has(.location-picker),.create-date-form .dashboard-form-group:has(.cdf-add-location-btn){border-bottom:none;padding-bottom:0}.location-picker{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:.75rem}.location-picker-entry{display:flex;align-items:flex-start;gap:.5rem;position:relative;transition:opacity .15s}.location-picker-entry[draggable=true]{cursor:default}.location-picker-entry--drag-over{opacity:.5}.location-picker-entry .location-picker-icon,.location-picker-entry .location-picker-drag-handle{margin-top:.65rem}.location-picker-reorder-controls{display:flex;align-items:flex-start;gap:.25rem;flex-shrink:0}.location-picker-drag-handle{color:var(--color-on-surface-variant, #888);font-size:20px;flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none}.location-picker-drag-handle:active{cursor:grabbing}.location-picker-move-buttons{display:none;flex-direction:column;gap:0;margin-top:.5rem}.location-picker-move-btn{width:1.2rem;height:1.05rem;border:none;background:transparent;color:var(--color-on-surface-variant, #666);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .2s,opacity .2s,transform .2s}.location-picker-move-btn:hover:not(:disabled){color:var(--color-primary);transform:translateY(-1px)}.location-picker-move-btn:disabled{opacity:.35;cursor:not-allowed}.location-picker-move-btn .material-symbols-outlined{font-size:13px;line-height:1}@media (max-width: 768px){.location-picker-drag-handle{display:none}.location-picker-move-buttons{display:flex}}.location-picker-input-wrap{flex:1;min-width:0;position:relative}.location-picker-icon{color:var(--color-primary);font-size:20px;flex-shrink:0}.location-picker-input{width:100%}.location-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:var(--color-surface, #fff);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;list-style:none;margin:0;padding:.25rem 0;max-height:220px;overflow-y:auto}.location-picker-prediction{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .875rem;cursor:pointer;transition:background-color .15s}.location-picker-prediction:hover{background-color:var(--color-surface-container-low, #f5f0f4)}.location-picker-prediction-icon{font-size:16px;color:var(--color-primary);margin-top:2px;flex-shrink:0}.location-picker-prediction-main{display:block;font-size:.875rem;font-family:var(--font-sans);color:var(--color-on-surface);font-weight:500}.location-picker-prediction-secondary{display:block;font-size:.75rem;font-family:var(--font-sans);color:var(--color-on-surface-variant, #666);margin-top:1px}.location-picker-remove{background:none;border:none;color:var(--color-on-surface-variant, #666);cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:50%;transition:background-color .2s;flex-shrink:0;margin-top:.45rem}.location-picker-remove:hover{background-color:#0000000f;color:var(--color-error, #dc2626)}.location-picker-remove .material-symbols-outlined{font-size:18px}.location-picker-add-btn{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-primary);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem 0;align-self:flex-start;transition:opacity .2s}.location-picker-add-btn:hover:not(:disabled){opacity:.8}.location-picker-add-btn:disabled{opacity:.4;cursor:not-allowed}.shared-photo-grid{--shared-photo-grid-motion-duration: .3s;--shared-photo-grid-motion-curve: cubic-bezier(.22, 1, .36, 1);--shared-photo-grid-row-height: 200px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:var(--shared-photo-grid-row-height);gap:1.5rem}@media (min-width: 540px){.shared-photo-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 768px){.shared-photo-grid{grid-template-columns:repeat(15,minmax(0,1fr))}}@media (min-width: 1024px){.shared-photo-grid{grid-template-columns:repeat(18,minmax(0,1fr))}}.shared-photo-grid-item{--shared-photo-grid-reveal-delay: 0ms;position:relative;grid-column:span 3;height:100%;display:flex;align-items:center;justify-content:center;border-radius:.5rem;overflow:visible}.shared-photo-grid-item.is-reorder-revealing{animation:shared-photo-grid-reorder-reveal .36s var(--shared-photo-grid-motion-curve) both;animation-delay:var(--shared-photo-grid-reveal-delay)}.shared-photo-grid-item.is-landscape{grid-column:span 5}.shared-photo-grid-item:nth-child(odd) .shared-photo-grid-frame:not(.is-active){--shared-photo-grid-card-rotate: -1.4deg}.shared-photo-grid-item:nth-child(2n) .shared-photo-grid-frame:not(.is-active){--shared-photo-grid-card-rotate: 1.4deg}.shared-photo-grid-shell{position:relative;width:auto;max-width:100%;height:100%;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:visible}.shared-photo-grid-shell.is-landscape{aspect-ratio:4 / 3}.shared-photo-grid-frame{--shared-photo-grid-card-rotate: 0deg;--shared-photo-grid-card-scale: 1;width:100%;height:100%;border-radius:.5rem;border:5px solid transparent;box-shadow:0 4px 12px #1d354014;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;transform-origin:center center;transform:rotate(var(--shared-photo-grid-card-rotate)) scale(var(--shared-photo-grid-card-scale));transition:box-shadow var(--shared-photo-grid-motion-duration) var(--shared-photo-grid-motion-curve),transform var(--shared-photo-grid-motion-duration) var(--shared-photo-grid-motion-curve),border-color var(--shared-photo-grid-motion-duration) var(--shared-photo-grid-motion-curve)}.shared-photo-grid-transformer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center center;transform:var(--photo-transform);transition:transform var(--shared-photo-grid-motion-duration) var(--shared-photo-grid-motion-curve)}.shared-photo-grid-transformer.is-quarter-turn.is-base-portrait{width:auto;height:133.333333%;aspect-ratio:3 / 4}.shared-photo-grid-transformer.is-quarter-turn.is-base-landscape{width:auto;height:75%;aspect-ratio:4 / 3}.shared-photo-grid-frame.is-active{border-color:#fffffffa;--shared-photo-grid-card-rotate: 0deg;--shared-photo-grid-card-scale: 1.035;box-shadow:0 0 0 1px #1d354014,0 10px 26px #1d354029}.shared-photo-grid-frame.is-transforming:not(.is-active){--shared-photo-grid-card-scale: 1.02}.shared-photo-grid-frame.is-active.is-transforming{--shared-photo-grid-card-scale: 1.05}.shared-photo-grid-frame.is-transforming{box-shadow:0 10px 24px #1d354024}.shared-photo-grid-frame.transitions-disabled,.shared-photo-grid-transformer.transitions-disabled{transition:none!important}.shared-photo-grid-image{width:100%;height:100%;object-fit:cover;display:block}.shared-photo-grid-primary-action{position:absolute;top:.75rem;left:.75rem;width:2rem;height:2rem;border-radius:9999px;border:2px solid rgba(255,255,255,.98);background:transparent;color:#fffffff5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;padding:0;z-index:1}.shared-photo-grid-shell.is-landscape .shared-photo-grid-primary-action{top:1.25rem}.shared-photo-grid-primary-action .material-symbols-outlined{font-size:1rem;opacity:0;transition:opacity .16s ease;font-variation-settings:"FILL" 1}.shared-photo-grid-primary-action.is-active .material-symbols-outlined{opacity:1}.shared-photo-grid-primary-action:disabled{cursor:wait;opacity:.72}.shared-photo-grid-delete-button{position:absolute;top:-.5rem;right:-.5rem;width:1.75rem;height:1.75rem;background-color:#fff;color:#4b626e;border:1px solid rgba(29,53,64,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #1d35401f;transition:background-color .15s ease,color .15s ease;z-index:1}.shared-photo-grid-delete-button .material-symbols-outlined{font-size:1rem}.shared-photo-grid-delete-button:hover{background-color:#c0392b;color:#fff;border-color:#c0392b}@media (hover: hover) and (pointer: fine){.shared-photo-grid-item:hover .shared-photo-grid-frame:not(.is-active){--shared-photo-grid-card-rotate: 0deg;--shared-photo-grid-card-scale: 1.035}.shared-photo-grid-item:hover .shared-photo-grid-frame.is-active{--shared-photo-grid-card-scale: 1.045}.shared-photo-grid-item:hover .shared-photo-grid-frame.is-transforming:not(.is-active){--shared-photo-grid-card-rotate: 0deg;--shared-photo-grid-card-scale: 1.04}.shared-photo-grid-item:hover .shared-photo-grid-frame.is-active.is-transforming{--shared-photo-grid-card-scale: 1.055}.shared-photo-grid-item:hover .shared-photo-grid-frame{box-shadow:0 8px 24px #1d35401f}.shared-photo-grid-primary-action:hover{transform:scale(1.04);box-shadow:0 6px 16px #1d35402e}}@keyframes shared-photo-grid-reorder-reveal{0%{opacity:0;transform:translateY(.85rem) scale(.96)}65%{opacity:1;transform:translateY(-.12rem) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.shared-photo-grid-item.is-reorder-revealing{animation:none}}.photo-display-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer;animation:photo-display-modal-fade-in .3s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes photo-display-modal-fade-in{0%{opacity:0}to{opacity:1}}.photo-display-modal-content{position:relative;display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:90vh;cursor:default;animation:photo-display-modal-fade-in .3s ease-in-out}.photo-display-modal-stage{position:relative;display:flex;align-items:center;justify-content:center}.photo-display-modal-viewport{position:relative;width:min(85vw,72rem);height:min(85vh,56rem);overflow:hidden;touch-action:pan-y pinch-zoom}.photo-display-modal-track{position:relative;width:100%;height:100%}.photo-display-modal-track.transitions-disabled .photo-display-modal-slide{transition:none!important}.photo-display-modal-track.is-transitioning .photo-display-modal-slide{transition:transform .26s cubic-bezier(.22,1,.36,1)}.photo-display-modal-track.is-transitioning[data-transition-mode=arrow] .photo-display-modal-slide{transition-duration:.56s}.photo-display-modal-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;will-change:transform}.photo-display-modal-image-frame{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;transition:width .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1)}.photo-display-modal-image-frame.transitions-disabled{transition:none!important}.photo-display-modal-image-transformer{display:flex;align-items:center;justify-content:center;flex:0 0 auto;max-width:none;max-height:none;transform-origin:center center;transition:transform .42s cubic-bezier(.22,1,.36,1)}.photo-display-modal-image-transformer.transitions-disabled{transition:none!important}.photo-display-modal-image{width:100%;height:100%;object-fit:contain;border-radius:.5rem;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-display-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:3.25rem;height:3.25rem;border:none;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:#ffffff24;color:#fff;cursor:pointer;transition:background-color .18s ease,transform .18s ease,opacity .18s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.photo-display-modal-nav:hover{background:#ffffff3d;transform:translateY(-50%) scale(1.04)}.photo-display-modal-nav .material-symbols-outlined{font-size:2rem;line-height:1}.photo-display-modal-nav--left{right:calc(100% + 1.25rem)}.photo-display-modal-nav--right{left:calc(100% + 1.25rem)}.photo-display-modal-controls{position:absolute;top:.75rem;left:.75rem;z-index:2;display:flex;align-items:center;gap:0;width:8.25rem;opacity:1;transition:opacity .52s ease .12s}.photo-display-modal-controls .photo-display-modal-control-button{transition:background-color .52s ease .12s,border-color .52s ease .12s,color .52s ease .12s,transform .18s ease,opacity .18s ease}.photo-display-modal-controls.is-hidden{opacity:0;pointer-events:none;transition-duration:60ms;transition-delay:0ms}.photo-display-modal-controls.is-hidden .photo-display-modal-control-button{background:#4c5a6000;border-color:#fff0;color:#fff0;transition-duration:60ms,60ms,60ms,.18s,.18s;transition-delay:0ms,0ms,0ms,0ms,0ms}.photo-display-modal-controls.is-idle-hidden{transition-duration:.32s;transition-delay:0ms}.photo-display-modal-controls.is-idle-hidden .photo-display-modal-control-button{transition-duration:.32s,.32s,.32s,.18s,.18s;transition-delay:0ms,0ms,0ms,0ms,0ms}.photo-display-modal-control-button{flex:0 0 2.75rem;width:2.75rem;height:2.75rem;border:none;background:#4c5a606b;color:#fff;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}.photo-display-modal-control-button:hover:not(:disabled){background:#4c5a6094}.photo-display-modal-control-button:disabled{cursor:wait;opacity:.55}.photo-display-modal-control-button .material-symbols-outlined{font-size:1.25rem;line-height:1;font-variation-settings:"FILL" 0}@media (max-width: 767px){.photo-display-modal-content{max-width:94vw;max-height:88vh}.photo-display-modal-viewport{width:94vw;height:82vh}.photo-display-modal-nav{display:none}.photo-display-modal-controls{top:.625rem;left:.625rem}.photo-display-modal-control-button:hover:not(:disabled){background:#4c5a606b}}.photo-delete-confirmation-modal{display:flex;flex-direction:column;gap:1.5rem}.photo-delete-confirmation-copy{display:flex;flex-direction:column;gap:.95rem}.photo-delete-confirmation-copy p{margin:0;font-family:var(--font-sans);font-size:.9375rem;color:#4b626e;line-height:1.6}.photo-delete-confirmation-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8)}.photo-delete-confirmation-actions .date-notes-cancel-button,.photo-delete-confirmation-actions .date-notes-save-button{flex:0 1 auto;padding:var(--spacing-2) var(--spacing-6);border:none;border-radius:9999px;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;min-width:0;transition:all .3s ease-in-out}.photo-delete-confirmation-actions-right{display:flex;justify-content:flex-end;gap:var(--spacing-4);flex:1}.photo-delete-confirmation-actions>.date-notes-cancel-button{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.photo-delete-confirmation-actions>.date-notes-cancel-button:hover:not(:disabled){background-color:#9743620d}.photo-delete-confirmation-actions .photo-delete-confirmation-remove{background-color:#cde6f4;color:var(--color-on-surface);border:none}.photo-delete-confirmation-actions .photo-delete-confirmation-remove:hover:not(:disabled){background-color:#d5ecf8}.photo-delete-confirmation-actions .date-notes-cancel-button:active:not(:disabled),.photo-delete-confirmation-actions .date-notes-save-button:active:not(:disabled){transform:scale(.98)}.photo-delete-confirmation-actions .photo-delete-confirmation-confirm{background:#c0392b;color:#fff;box-shadow:0 4px 12px #c0392b33}.photo-delete-confirmation-actions .photo-delete-confirmation-confirm:hover:not(:disabled){box-shadow:0 12px 32px #c0392b38}.photo-delete-confirmation-actions .date-notes-cancel-button:disabled,.photo-delete-confirmation-actions .date-notes-save-button:disabled{cursor:not-allowed;opacity:.65}@media (max-width: 640px){.photo-delete-confirmation-actions{flex-direction:column;gap:var(--spacing-4);justify-content:flex-start}.photo-delete-confirmation-actions-right{order:1;width:100%;flex-direction:column-reverse}.photo-delete-confirmation-actions>button{order:2}.photo-delete-confirmation-actions-right button,.photo-delete-confirmation-actions>button{width:100%}}.landing-page{width:100%;min-height:100vh;background-color:var(--color-surface);display:flex;flex-direction:column}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#f4faffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(157,182,195,.15)}.landing-nav-content{max-width:1200px;margin:0 auto;padding:var(--spacing-6);display:flex;justify-content:space-between;align-items:center}.landing-logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;font-style:italic;color:var(--color-primary)}.landing-main{flex:1;padding-top:5rem}.landing-hero{max-width:1200px;margin:0 auto;padding:var(--spacing-10);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-10);align-items:center}.landing-hero-content{display:flex;flex-direction:column;justify-content:center}.landing-badge{display:inline-flex;align-items:center;width:fit-content;background-color:var(--color-secondary-container);color:#724900;padding:var(--spacing-2) var(--spacing-4);border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:var(--spacing-6)}.landing-badge--mobile{display:none}.landing-headline{font-family:var(--font-serif);font-size:clamp(2.5rem,8vw,4rem);font-weight:400;line-height:1.2;color:var(--color-on-surface);margin-bottom:var(--spacing-6);letter-spacing:-.01em}.landing-headline em{font-style:italic;color:var(--color-primary);font-weight:300}.landing-subheading{font-family:var(--font-sans);font-size:1.125rem;line-height:1.6;color:#4b626e;margin-bottom:var(--spacing-8);max-width:450px}.landing-cta{display:flex;justify-content:flex-start}.landing-cta button{transition:all .3s ease-in-out;box-shadow:var(--shadow-lg)}.landing-cta button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #97436233}.landing-hero-image{position:relative;display:flex;justify-content:center;align-items:center}.landing-photo-card{position:relative;width:100%;max-width:360px;aspect-ratio:4 / 5;background-color:#fff;padding:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:photoLayerHover .6s cubic-bezier(.34,1.56,.64,1);transform:rotate(-1.5deg);transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.landing-photo-card:hover{transform:rotate(0) scale(1.02)}.landing-photo-wrapper{width:100%;height:100%;overflow:hidden;border-radius:calc(var(--radius-md) - .25rem)}.landing-photo{width:100%;height:100%;object-fit:cover;display:block}.landing-date-label{position:absolute;bottom:-1.5rem;right:-1.5rem;background-color:#fff;padding:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--spacing-4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.landing-date-label-icon{width:3rem;height:3rem;background-color:var(--color-primary-container);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.landing-date-label-title{font-family:var(--font-sans);font-size:.75rem;font-weight:500;color:var(--color-outline-variant);text-transform:uppercase;letter-spacing:.5px;margin:0}.landing-date-name{font-family:var(--font-serif);font-size:1.125rem;font-weight:400;color:var(--color-on-surface);margin:0}.landing-decoration{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);background-color:#ffa8c41a;filter:blur(80px);border-radius:50%;z-index:-1}@media (max-width: 768px){.landing-hero{grid-template-columns:1fr;gap:1.25rem;padding:var(--spacing-6)}.landing-hero-image{order:-1;margin-top:var(--spacing-4);flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.landing-hero-content>.landing-badge{display:none}.landing-badge--mobile{display:inline-flex;align-self:center;margin-bottom:0}.landing-hero-content{align-items:center;text-align:center}.landing-headline{font-size:clamp(2rem,6vw,3.5rem);margin-bottom:var(--spacing-4)}.landing-subheading{font-size:1rem;margin-bottom:1.25rem;max-width:34rem}.landing-cta{justify-content:center}.landing-cta button{font-size:1rem!important;padding:.85rem 2rem!important}.landing-nav-content{padding:var(--spacing-4)}.landing-photo-card{aspect-ratio:auto;max-width:300px;padding:.75rem;align-self:center}.landing-photo-wrapper{aspect-ratio:1 / 1;height:auto}.landing-date-label{position:static;margin-top:var(--spacing-4);transform:none;padding:.75rem;gap:.75rem}.landing-date-label-icon{width:2.5rem;height:2.5rem}.landing-date-label-title{font-size:.65rem}.landing-date-name{font-size:1rem}}@media (max-width: 480px){.landing-hero{padding:var(--spacing-4)}.landing-main{padding-top:4rem}.landing-nav-content{gap:var(--spacing-4)}.landing-headline{font-size:2rem}.landing-badge{font-size:.7rem;padding:var(--spacing-2) var(--spacing-4)}.landing-subheading{font-size:.95rem}}@keyframes photoLayerHover{0%{opacity:0;transform:rotate(-2deg) translateY(20px)}to{opacity:1;transform:rotate(-1.5deg) translateY(0)}}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-surface);padding:var(--spacing-6);position:relative;overflow:hidden}.login-orb{position:absolute;border-radius:50%;filter:blur(100px);z-index:-1}.login-orb-primary{top:-10%;left:-10%;width:500px;height:500px;background-color:#ffa8c433}.login-orb-secondary{bottom:-10%;right:-10%;width:600px;height:600px;background-color:#ffddb433;filter:blur(120px)}.login-container{w-full:100%;max-width:28rem;width:100%;display:flex;flex-direction:column;align-items:center}.login-header{text-align:center;margin-bottom:var(--spacing-10);display:flex;flex-direction:column;align-items:center}.login-logo-box{display:inline-flex;align-items:center;justify-content:center;width:5rem;height:5rem;background-color:var(--color-surface-container-lowest);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-6);position:relative;transform:rotate(-2deg);transition:transform .3s ease-in-out}.login-logo-box:hover{transform:rotate(-2deg) scale(1.02)}.login-logo{font-family:var(--font-serif);font-size:1.875rem;font-weight:700;font-style:italic;color:var(--color-primary)}.login-logo-accent{position:absolute;top:-4px;right:-4px;width:1rem;height:1rem;background-color:var(--color-secondary-container);border-radius:50%}.login-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--color-on-background);margin:0 0 var(--spacing-3) 0;letter-spacing:-.01em;line-height:1.2}.login-subtitle{font-family:var(--font-sans);font-size:1.125rem;color:#4b626e;margin:0;line-height:1.6}.login-card{background-color:var(--color-surface-container-lowest);border-radius:var(--radius-md);padding:var(--spacing-10);width:100%;box-shadow:0 -4px 24px #1d35400f;position:relative;overflow:hidden}.login-card-top-bar{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(to right,var(--color-primary),var(--color-primary-container))}.login-content{display:flex;flex-direction:column;gap:var(--spacing-8)}.login-google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:1rem;background-color:var(--color-surface-container-lowest);padding:1rem 1.5rem;border-radius:9999px;border:1px solid rgba(157,182,195,.3);cursor:pointer;font-family:var(--font-sans);font-weight:600;color:var(--color-on-surface);transition:all .4s ease-in-out}.login-google-button:hover{background-color:#e7f6ff;box-shadow:0 4px 20px #9743621a}.login-google-button:active{transform:scale(.98)}.login-google-button-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));border:none;color:#fff;box-shadow:var(--shadow-lg)}.login-google-button-gradient:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));box-shadow:0 12px 32px #97436233;transform:translateY(-2px)}.login-google-button-gradient:active{transform:scale(.98)}.login-google-icon{width:1.5rem;height:1.5rem}.login-error{padding:var(--spacing-4);background-color:#fef2f2;border-radius:var(--radius-md);margin:0}.login-error p{color:#dc2626;margin:0;font-size:.875rem;font-family:var(--font-sans)}.login-disclaimer{font-size:.875rem;color:var(--color-on-surface);text-align:center;margin:0;font-family:var(--font-sans);line-height:1.5}@media (max-width: 768px){.login-page{padding:var(--spacing-4)}.login-title{font-size:1.75rem}.login-subtitle{font-size:1rem}.login-orb-primary{width:350px;height:350px;filter:blur(80px)}.login-orb-secondary{width:400px;height:400px;filter:blur(100px)}}@media (max-width: 480px){.login-header{margin-bottom:var(--spacing-8)}.login-card{padding:var(--spacing-8)}.login-logo-box{width:4rem;height:4rem}.login-logo,.login-title{font-size:1.5rem}.login-subtitle{font-size:.95rem}.login-google-button{padding:.875rem 1.25rem;gap:.75rem}.login-google-icon{width:1.25rem;height:1.25rem}}.phone-verification-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-surface);padding:var(--spacing-6);position:relative;overflow:hidden}.phone-verification-orb{position:absolute;border-radius:50%;filter:blur(100px);z-index:-1}.phone-verification-orb-primary{top:-10%;right:-5%;width:384px;height:384px;background-color:#ffa8c433}.phone-verification-orb-secondary{bottom:-10%;left:-5%;width:320px;height:320px;background-color:#ffddb44d;filter:blur(80px)}.phone-verification-container{width:100%;max-width:28rem;position:relative}.phone-verification-decoration{position:absolute;top:-3rem;left:-2rem;width:6rem;height:6rem;transform:rotate(-12deg);z-index:10;display:none;background:#fff;padding:.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}@media (min-width: 640px){.phone-verification-decoration{display:block}}.phone-verification-card{background-color:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md);padding:2rem;box-shadow:0 4px 24px #1d35400f;border:1px solid rgba(157,182,195,.15);position:relative;z-index:0}@media (min-width: 640px){.phone-verification-card{padding:3rem}}.phone-verification-header{text-align:center;margin-bottom:var(--spacing-10);display:flex;flex-direction:column;align-items:center}.phone-verification-icon-box{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background-color:#def1fc;border-radius:50%;margin-bottom:var(--spacing-4)}.phone-verification-icon{width:1.875rem;height:1.875rem;color:var(--color-primary)}.phone-verification-title{font-family:var(--font-serif);font-size:1.875rem;font-weight:700;color:var(--color-on-surface);margin:0 0 var(--spacing-3) 0;letter-spacing:-.01em;line-height:1.2;tracking:tight}.phone-verification-subtitle{font-family:var(--font-sans);font-size:.875rem;color:#4b626e;margin:0;line-height:1.6;max-width:280px}.phone-verification-form{display:flex;flex-direction:column;gap:var(--spacing-8)}.phone-verification-form-group{display:flex;flex-direction:column}.phone-verification-label{font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-on-surface);text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--spacing-2);margin-left:var(--spacing-4)}.phone-verification-input{width:100%;background-color:#e7f6ff;border:none;border-radius:9999px;padding:1rem 1.5rem;font-family:var(--font-sans);font-size:1rem;color:var(--color-on-surface);transition:all .3s ease-in-out}.phone-verification-input::placeholder{color:var(--color-outline-variant)}.phone-verification-input:focus{outline:none;background-color:#fff;ring:2px;ring-color:rgba(151,67,98,.2);box-shadow:0 -4px 24px #9743620f}.phone-verification-input:disabled{opacity:.6;cursor:not-allowed}.phone-verification-otp-group{display:flex;flex-direction:column}.phone-verification-otp-label{font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-on-surface);text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--spacing-6);text-align:center}.phone-verification-otp-inputs{display:flex;justify-content:center;gap:.4rem}@media (min-width: 640px){.phone-verification-otp-inputs{gap:.5rem}}.phone-verification-otp-input{width:2.5rem;height:2.5rem;flex-shrink:0;text-align:center;font-family:var(--font-serif);font-size:1.125rem;background-color:#e7f6ff;border:none;border-radius:.5rem;color:var(--color-on-surface);transition:all .3s ease-in-out}@media (min-width: 640px){.phone-verification-otp-input{width:3rem;height:3rem;font-size:1.25rem}}.phone-verification-otp-input::placeholder{color:var(--color-outline-variant)}.phone-verification-otp-input:focus{outline:none;background-color:#fff;ring:2px;box-shadow:0 0 0 3px #9743621a}.phone-verification-otp-input:disabled{opacity:.6;cursor:not-allowed}.phone-verification-button{width:100%;padding:1rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;border:none;border-radius:9999px;font-family:var(--font-sans);font-weight:700;font-size:1rem;letter-spacing:.05em;cursor:pointer;transition:all .4s ease-in-out;box-shadow:var(--shadow-lg)}.phone-verification-button:hover:not(:disabled){transform:scale(1.02);box-shadow:0 12px 32px #97436233}.phone-verification-button:active:not(:disabled){transform:scale(.98)}.phone-verification-button:disabled{opacity:.6;cursor:not-allowed}.phone-verification-error{padding:var(--spacing-4);background-color:#fef2f2;border-radius:var(--radius-md);font-size:.875rem;color:#dc2626;font-family:var(--font-sans);margin:0;line-height:1.5}.phone-verification-footer{margin-top:var(--spacing-10);text-align:center}.phone-verification-footer-text{font-size:.875rem;color:#4b626e;margin:0 0 var(--spacing-4) 0;font-family:var(--font-sans);font-weight:500}.phone-verification-resend-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-weight:600;color:var(--color-primary);font-size:.875rem;transition:all .3s ease-in-out;padding:0}.phone-verification-resend-button:hover:not(:disabled){color:#883756;text-decoration:underline}.phone-verification-resend-button:disabled{opacity:.6;cursor:not-allowed}.phone-verification-back-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:.75rem;color:#4b626e;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease-in-out;padding:0}.phone-verification-back-button:hover{color:var(--color-primary)}.phone-verification-brand-footer{margin-top:var(--spacing-8);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.phone-verification-brand-logo{font-family:var(--font-serif);font-style:italic;font-weight:700;font-size:1.25rem;color:#97436240;letter-spacing:.05em}@media (max-width: 480px){.phone-verification-page{padding:var(--spacing-4)}.phone-verification-card{padding:var(--spacing-8)}.phone-verification-title{font-size:1.5rem}.phone-verification-subtitle{font-size:.8125rem}.phone-verification-input{padding:.875rem 1.25rem;font-size:.9375rem}.phone-verification-otp-input{height:3rem;font-size:1.25rem}.phone-verification-button{padding:.875rem;font-size:.9375rem}.phone-verification-orb-primary{width:300px;height:300px;filter:blur(80px)}.phone-verification-orb-secondary{width:250px;height:250px;filter:blur(60px)}}.plan-hero{position:relative;background-color:#e7f6ff;border-radius:var(--radius-md);padding:var(--spacing-8) var(--spacing-6);overflow:hidden}@media (min-width: 391px){.plan-hero{padding:2.5rem var(--spacing-8)}}@media (min-width: 768px){.plan-hero{padding:.5rem 2.5rem}}.plan-hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}@media (max-width: 767px){.plan-hero-content{gap:var(--spacing-4)}}@media (max-width: 540px){.plan-hero-content{gap:0}.plan-hero-text{padding:var(--spacing-4)}}@media (min-width: 768px){.plan-hero-content{grid-template-columns:1fr 1.2fr}}.plan-hero-text{display:flex;flex-direction:column;padding:var(--spacing-8)}@media (min-width: 768px){.plan-hero-text{padding:2.5rem}}.plan-hero-label{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-4)}.plan-hero-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;line-height:1.2;color:var(--color-on-surface);margin-bottom:var(--spacing-4);letter-spacing:-.01em}@media (min-width: 391px){.plan-hero-title{font-size:2.5rem}}@media (min-width: 768px){.plan-hero-title{font-size:3.5rem}}.plan-hero-title em{font-style:italic;color:var(--color-primary);font-weight:300}.plan-hero-subtitle{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:#4b626e;margin:0;max-width:450px}.plan-hero-form{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-8);box-shadow:0 -4px 24px #1d35400f;width:100%}.plan-hero-decoration-1{position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,168,196,.1) 0%,transparent 70%);border-radius:50%;z-index:1}.plan-hero-decoration-2{position:absolute;bottom:-30%;left:10%;width:300px;height:300px;background:radial-gradient(circle,rgba(151,67,98,.08) 0%,transparent 70%);border-radius:50%;z-index:1}.dashboard-moments{margin-top:0}.dashboard-moments-header{display:flex;justify-content:flex-start;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.dashboard-moments-title{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.2em;margin:0}.dashboard-moments-title-row{display:flex;align-items:center;gap:var(--spacing-4);min-width:0}.dashboard-plan-button{width:1.65rem;height:1.65rem;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--color-primary);border-radius:9999px;background:transparent;color:var(--color-primary);cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.dashboard-plan-button:hover{background-color:#9743620f;box-shadow:0 6px 18px #9743621f;transform:translateY(-1px)}.dashboard-plan-button:active{transform:translateY(0) scale(.98)}.dashboard-plan-button .material-symbols-outlined{font-size:.95rem}@media (max-width: 540px){.dashboard-moments-header{align-items:flex-start}.dashboard-plan-button{width:1.5rem;height:1.5rem;border-width:1.5px}.dashboard-plan-button .material-symbols-outlined{font-size:.875rem}.dashboard-moments-title-row{width:100%;justify-content:flex-start;gap:var(--spacing-3, .75rem)}}.dashboard-moments-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-8)}@media (min-width: 640px){.dashboard-moments-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.dashboard-moments-grid{grid-template-columns:repeat(3,1fr)}}.dashboard-moment-card{background-color:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 -4px 24px #1d35400f;transition:all .3s ease-in-out;transform:rotate(-1deg)}.dashboard-moment-card:nth-child(2n){transform:rotate(1deg)}.dashboard-moment-card:hover{transform:scale(1.02) rotate(0);box-shadow:0 12px 32px #9743621f}.dashboard-moment-image{position:relative;width:100%;height:400px;background:#fff;overflow:hidden}.dashboard-moment-image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-md);overflow:hidden}.dashboard-moment-carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease-in-out}.dashboard-moment-carousel-slide.active{opacity:1}.dashboard-moment-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface-container-high),var(--color-surface-container-low));display:flex;align-items:center;justify-content:center}.dashboard-moment-image-placeholder .material-symbols-outlined{font-size:3rem;color:var(--color-outline-variant);opacity:.5}.dashboard-moment-content{padding:var(--spacing-6);display:flex;flex-direction:column;gap:.75rem}.dashboard-moment-date{font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;margin:0}.dashboard-moment-location{display:block;font-size:.875rem;line-height:1.45;color:#4b626e;margin:0}.dashboard-moment-location-icon{display:inline-block;margin-right:.2rem;font-size:1em;line-height:inherit;vertical-align:-.12em;color:var(--color-primary);font-variation-settings:"FILL" 1}.dashboard-moment-description{font-size:.9375rem;line-height:1.5;color:#6b7d86;margin:0}.dashboard-moment-carousel-indicators{position:absolute;bottom:var(--spacing-4);left:50%;transform:translate(-50%);display:flex;gap:.5rem;align-items:center}.dashboard-moment-carousel-dot{width:8px;height:8px;border-radius:50%;background-color:#ffffff80;cursor:pointer;transition:all .2s ease-in-out}.dashboard-moment-carousel-dot.active{background-color:#fff;width:16px;border-radius:4px}.dashboard-empty-state{grid-column:1 / -1;text-align:center;padding:2.5rem;color:#9db6c3}.dashboard-empty-state p{font-size:1rem;margin:0}.dashboard-load-more{display:flex;justify-content:center;padding:var(--spacing-8) 0 var(--spacing-4)}.date-header{display:flex;flex-direction:column-reverse;gap:2rem;margin-bottom:2rem;align-items:flex-start}@media (min-width: 768px){.date-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.date-header-content{display:flex;flex-direction:column;gap:0;flex:1}.date-header-left{display:flex;flex-direction:column;gap:1rem;flex:1;justify-content:space-between;width:100%}@media (min-width: 768px){.date-header-left{gap:2.5rem;width:auto}}.date-header-right{display:flex;flex-direction:row;align-items:flex-end;gap:1rem}.date-back-button{background:none;border:none;color:var(--color-primary);font-size:1.5rem;cursor:pointer;padding:0;display:none;align-items:center;justify-content:center;transition:all .3s ease-in-out;align-self:flex-start}@media (min-width: 768px){.date-back-button{display:flex}}.date-back-button:hover{transform:translate(-4px);opacity:.8}.date-back-button .material-symbols-outlined{font-size:1.5rem}.date-page-main{padding:1.5rem .75rem;max-width:90rem;margin:0 auto;width:100%}@media (min-width: 391px){.date-page-main{padding:2rem 1rem}}@media (min-width: 768px){.date-page-main{padding:2rem 3rem}}.date-header-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;line-height:1.2;color:var(--color-on-surface);font-style:italic}@media (min-width: 391px){.date-header-title{font-size:2.5rem}}@media (min-width: 768px){.date-header-title{font-size:3.5rem}}.date-header-subtitle{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-family:var(--font-sans);font-size:.875rem;font-weight:400;color:#8e9fa8}.date-header-subtitle-icon{font-size:.875rem;color:#8e9fa8}.date-header-subtitle-text{display:inline}.date-header-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background-color:transparent;color:#8e9fa8;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;transition:opacity .2s ease,transform .2s ease,background-color .2s ease;padding:.25rem}.date-header-edit-btn .material-symbols-outlined{font-size:1.25rem;display:flex;align-items:center;justify-content:center}.date-header-edit-btn:hover{background-color:#97436214}.date-header-edit-btn:active{transform:scale(.9)}.date-header-edit-btn:disabled{opacity:.4;cursor:not-allowed}.date-header-nav{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.date-header-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:transparent;color:var(--color-primary);border:0;border-radius:50%;cursor:pointer;flex-shrink:0;transition:background-color .15s ease,opacity .15s ease,transform .15s ease;padding:0}.date-header-nav-btn .material-symbols-outlined{font-size:1.125rem}.date-header-nav-btn:hover:not(:disabled){background-color:#97436214}.date-header-nav-btn:active:not(:disabled){transform:scale(.9)}.date-header-nav-btn:disabled{opacity:.25;cursor:not-allowed;color:#8e9fa8}.date-detail-input{background:transparent;border:none;border-bottom:1.5px solid var(--color-primary);outline:none;width:100%}.date-detail-input--location{font-family:var(--font-sans);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);padding:.1rem 0}.date-detail-input--datetime{font-family:var(--font-sans);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);padding:.1rem 0;margin-bottom:.25rem}@media (min-width: 391px){.date-detail-input--datetime{font-size:.95rem}}@media (min-width: 768px){.date-detail-input--datetime{font-size:.95rem}}.date-location-label{display:block;margin-bottom:0;font-family:var(--font-sans);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary)}@media (max-width: 767px){.date-location-label{margin-bottom:.5rem}}.date-location-icon{display:inline-block;margin-right:.3rem;font-size:1em;line-height:inherit;vertical-align:-.12em;color:var(--color-primary);font-variation-settings:"FILL" 1}.date-location-text{display:block;word-break:break-word;text-align:left}.date-location-label .date-detail-input--location{display:inline-block;width:calc(100% - 1.75rem);vertical-align:baseline}.date-location-link{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;transition:text-decoration-color .15s ease,opacity .15s ease}.date-location-link:hover{text-decoration-color:var(--color-primary);opacity:.8}.date-edit-section-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:400;color:var(--color-on-surface);margin:.75rem 0 .25rem}.date-edit-locations{margin-top:.25rem;margin-bottom:.5rem}.date-edit-locations .location-picker{margin-top:0;gap:.375rem}.date-edit-locations .location-picker-entry{gap:.375rem;align-items:center}.date-edit-locations .location-picker-input{background:transparent;border:none;border-bottom:1.5px solid var(--color-primary);border-radius:0;padding:.2rem 0;font-family:var(--font-sans);font-size:.875rem;color:var(--color-on-surface);box-shadow:none}.date-edit-locations .location-picker-input:focus{outline:none;border-bottom-color:var(--color-primary)}.date-edit-locations .location-picker-icon{font-size:1rem;margin-top:0}.date-edit-locations .location-picker-entry .location-picker-icon,.date-edit-locations .location-picker-entry .location-picker-drag-handle{margin-top:0}.date-edit-locations .location-picker-drag-handle{font-size:18px}.date-edit-locations .location-picker-remove{margin-top:0}.date-edit-locations .location-picker-remove .material-symbols-outlined{font-size:18px}.date-edit-locations .location-picker-add-btn,.date-edit-add-location-btn{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;color:var(--color-primary);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;padding:.375rem 0;margin-top:.125rem;opacity:.85;transition:opacity .15s ease}.date-edit-locations .location-picker-add-btn:hover:not(:disabled),.date-edit-add-location-btn:hover{opacity:1}.date-edit-locations .location-picker-add-btn:disabled{opacity:.4;cursor:not-allowed}.date-cover-photo{display:flex;flex-direction:column;align-items:center;gap:.75rem}.date-cover-photo-wrapper{position:relative;background-color:#fff;padding:.5rem;border-radius:.5rem;box-shadow:0 2px 4px #1d35400f;border:1px solid var(--color-outline-variant);transform:rotate(1.2deg)}.date-cover-photo-image{width:120px;height:120px;object-fit:cover;border-radius:.375rem;cursor:pointer;transition:opacity .3s ease-in-out}.date-cover-photo-image:hover{opacity:.9}@media (min-width: 768px){.date-cover-photo-image{width:150px;height:150px}}.date-cover-photo-placeholder{width:120px;height:120px;background-color:var(--color-surface-container-high);border-radius:.375rem;cursor:pointer;transition:background-color .3s ease-in-out;display:flex;align-items:center;justify-content:center}.date-cover-photo-placeholder:hover{background-color:var(--color-surface-container-highest)}@media (min-width: 768px){.date-cover-photo-placeholder{width:150px;height:150px}}.date-cover-photo-placeholder-image{width:120px;height:120px;object-fit:cover;border-radius:.375rem;cursor:pointer;transition:opacity .3s ease-in-out}.date-cover-photo-placeholder-image:hover{opacity:.9}@media (min-width: 768px){.date-cover-photo-placeholder-image{width:150px;height:150px}}.date-cover-photo-button{position:absolute;top:-.5rem;right:-.5rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .3s ease-in-out;box-shadow:0 4px 12px #1d354014}.date-cover-photo-wrapper:hover .date-cover-photo-button{opacity:1}.date-cover-photo-button:disabled{opacity:.5;cursor:not-allowed}.date-cover-photo-label{font-family:var(--font-sans);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#4b626e;margin-top:.25rem}.date-content-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.5rem;width:100%}@media (min-width: 1024px){.date-content-grid{grid-template-columns:2fr 1fr;gap:3rem}.date-left-column{gap:3rem}.date-header{margin-bottom:3rem}}.date-left-column,.date-right-column{display:flex;flex-direction:column;gap:2rem;width:100%}.date-gallery-section{background-color:#e7f6ff;border-radius:var(--radius-md);padding:2rem}@media (min-width: 768px){.date-gallery-section{padding:3rem}}.date-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.date-gallery-header-copy,.date-your-photos-header-copy{display:flex;flex-direction:column;gap:.35rem}.date-gallery-title{font-family:var(--font-serif);font-size:2rem;font-weight:400;line-height:1.4;color:var(--color-on-surface);font-style:italic}.date-gallery-title em{font-style:italic;color:var(--color-primary);font-weight:400}.date-gallery-upload-status{margin:0;font-family:var(--font-sans);font-size:.85rem;color:#6b7d86}.date-gallery-upload-button{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;border:none;border-radius:9999px;padding:.75rem 1rem;font-family:var(--font-sans);font-weight:600;font-size:.95rem;text-align:center;cursor:pointer;transition:all .3s ease-in-out}@media (max-width: 540px){.date-gallery-upload-button{padding:.75rem}.date-gallery-upload-button .date-upload-button-text{display:none}}.date-gallery-upload-button:hover{box-shadow:0 8px 24px #97436226}.date-gallery-upload-button:active{transform:scale(.98)}.date-gallery-upload-button:disabled{opacity:.6;cursor:not-allowed}.date-gallery-carousel{position:relative;width:100%;margin-bottom:2rem;background-color:transparent;border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.date-gallery-carousel-container{position:relative;width:100%;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;background-color:transparent;max-height:400px;touch-action:pan-y}.date-gallery-carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity 1.2s ease-in-out;display:flex;align-items:center;justify-content:center}.date-gallery-carousel-slide.active{opacity:1;pointer-events:auto}.date-gallery-carousel-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.date-gallery-carousel-button{position:absolute;top:50%;transform:translateY(-50%);background-color:#ffffffe6;color:var(--color-on-surface);border:none;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease-in-out;z-index:10}.date-gallery-carousel-button:hover{background-color:#fff;box-shadow:0 4px 12px #1d35401f}.date-gallery-carousel-button:active{transform:translateY(-50%) scale(.95)}.date-gallery-carousel-prev{left:1rem}.date-gallery-carousel-next{right:1rem}@media (min-width: 768px){.date-gallery-carousel-button{width:3rem;height:3rem}.date-gallery-carousel-prev{left:1.5rem}.date-gallery-carousel-next{right:1.5rem}}.date-gallery-item-large .date-gallery-image{min-height:300px}.date-gallery-item-small .date-gallery-image{height:200px}.date-carousel-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.date-carousel-dot{width:.5rem;height:.5rem;border-radius:9999px;border:none;background-color:var(--color-outline-variant);cursor:pointer;transition:all .3s ease-in-out;padding:0}.date-carousel-dot.active{width:2rem;background-color:var(--color-primary)}.date-carousel-arrow{position:absolute;width:3rem;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;color:#d0d0d0;z-index:2;transition:opacity .6s ease-in-out,background .15s ease;padding:0;background:transparent}.date-carousel-arrow--prev{left:0;border-radius:.5rem 0 0 .5rem;background:linear-gradient(to right,rgba(0,0,0,.28) 0%,transparent 100%)}.date-carousel-arrow--prev:hover{background:linear-gradient(to right,rgba(0,0,0,.48) 0%,transparent 100%)}.date-carousel-arrow--next{right:0;border-radius:0 .5rem .5rem 0;background:linear-gradient(to left,rgba(0,0,0,.28) 0%,transparent 100%)}.date-carousel-arrow--next:hover{background:linear-gradient(to left,rgba(0,0,0,.48) 0%,transparent 100%)}.date-carousel-arrow .material-symbols-outlined{font-size:1.75rem;-webkit-user-select:none;user-select:none}.date-your-photos-section{margin-top:3rem;grid-column:1 / -1}@media (max-width: 767px){.date-your-photos-section{margin-top:0}}.date-your-photos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.date-cover-photo-placeholder--loading{cursor:default}.image-loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--color-outline-variant);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;opacity:.6}.image-loading-spinner--lg{width:2.5rem;height:2.5rem}@keyframes spin{to{transform:rotate(360deg)}}.date-gallery-carousel-loading{background:linear-gradient(135deg,var(--color-surface-container-high),var(--color-surface-container-low))}.date-your-photos-title{font-family:var(--font-serif);font-size:1.875rem;font-weight:400;line-height:1.4;color:var(--color-on-surface);font-style:italic;margin:0}.date-your-photos-loading{font-family:var(--font-sans);font-size:.9375rem;color:var(--color-outline-variant);padding:1rem 0;margin:0}.date-your-photos-grid .shared-photo-grid-frame.is-active{--shared-photo-grid-card-scale: 1.05;box-shadow:0 0 0 1px #1d354014,0 12px 28px #1d35402e}.date-photo-pin-button{color:#fffffffa}.date-photo-pin-button .material-symbols-outlined{transform:rotate(30deg)}@media (hover: hover) and (pointer: fine){.date-your-photos-grid .shared-photo-grid-item:hover .shared-photo-grid-frame.is-active{--shared-photo-grid-card-scale: 1.065;box-shadow:0 0 0 1px #1d354014,0 14px 32px #1d354033}.date-photo-pin-button:hover .material-symbols-outlined{opacity:1}}.date-notes-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.date-notes-grid{grid-template-columns:repeat(2,1fr)}}.date-notes-card{background-color:#fff;border-radius:var(--radius-md);padding:2rem;border:1px solid var(--color-outline-variant);box-shadow:0 2px 4px #1d35400f;position:relative}.date-notes-card-private{background-color:#fff9f0;border-color:var(--color-secondary-container)}.date-notes-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.date-notes-icon{width:2.5rem;height:2.5rem;border-radius:50%;background-color:#97436226;display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:1.25rem}.date-notes-icon-private{background-color:#84550033;color:#744a00}.date-notes-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:400;line-height:1.4;color:var(--color-on-surface)}.date-notes-title-private{color:#744a00}.date-notes-lock-icon{position:absolute;top:1rem;right:1rem;color:#c8c8c866;font-size:2.5rem}.date-notes-textarea{width:100%;height:160px;background-color:transparent;border:none;padding:12px 16px;font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:#4b626e;resize:none;outline:none}.date-notes-textarea-private{color:#a86e00cc;font-style:italic}.date-notes-textarea::placeholder{color:#4b626e}.date-notes-textarea-private::placeholder{color:#a86e0099}.date-notes-display{cursor:pointer;transition:background-color .3s ease-in-out;padding:0;border-radius:.375rem}.date-notes-display:hover{background-color:#4b626e14}.date-notes-display textarea{width:100%;height:160px;background-color:transparent;border:none;padding:12px 16px;font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:#4b626e;resize:none;outline:none;cursor:pointer;pointer-events:none}.date-notes-edit-mode{display:flex;flex-direction:column;gap:1rem}.date-notes-textarea-input{width:100%;height:160px;background-color:#4b626e14;border:none;border-radius:.375rem;padding:.75rem 1rem;font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--color-on-surface);resize:vertical;min-height:100px;outline:none;transition:background-color .3s ease-in-out}.date-notes-textarea-input:focus{background-color:#4b626e1f}.date-notes-card-private .date-notes-textarea-input{background-color:#a86e0014}.date-notes-card-private .date-notes-textarea-input:focus{background-color:#a86e001f}.date-notes-button-group{display:flex;gap:1rem}.date-notes-save-button,.date-notes-cancel-button{flex:1;padding:.75rem 1.5rem;border-radius:9999px;border:none;font-family:var(--font-sans);font-size:.875rem;font-weight:700;cursor:pointer;transition:box-shadow .3s ease-in-out,transform .3s ease}.date-notes-save-button{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #97436226}.date-notes-save-button:hover:not(:disabled){box-shadow:0 8px 24px #97436233}.date-notes-save-button:active:not(:disabled){transform:scale(.95)}.date-notes-cancel-button{background-color:#f0f0f0;color:#4b626e;box-shadow:0 2px 8px #1d35400f}.date-notes-cancel-button:hover:not(:disabled){background-color:#e8e8e8;box-shadow:0 4px 12px #1d354014}.date-notes-cancel-button:active:not(:disabled){transform:scale(.95)}.date-sidebar-card{background-color:#def1fc;border-radius:var(--radius-md);padding:2rem;border:1px solid var(--color-outline-variant)}@media (max-width: 470px){.date-sidebar-card{padding:1.5rem}}.date-countdown-card{background-color:#9743621a;border-color:var(--color-primary)}.date-invite-message-card{background-color:#ffddb4;border-color:var(--color-secondary-container);cursor:pointer;transition:box-shadow .2s ease;flex:1;min-height:10rem;display:flex;flex-direction:column}.date-invite-message-card:hover{box-shadow:0 4px 16px #a86e0026}.date-invite-message-card--editing{cursor:default}.date-invite-message-card--editing:hover{box-shadow:none}.date-invite-message-quote{font-size:2.5rem;color:#a86e00b3;display:block;text-align:center;margin-bottom:.5rem}.date-invite-message-display{cursor:pointer;flex:1;display:flex;flex-direction:column}.date-invite-message-display textarea{pointer-events:none}.date-invite-message-textarea{width:100%;background-color:transparent;border:none;padding:0;font-family:var(--font-serif);font-size:1.0625rem;font-style:italic;line-height:1.6;color:#a86e00cc;resize:none;outline:none;cursor:pointer;flex:1;min-height:4rem;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}.date-invite-message-textarea::-webkit-scrollbar{display:none}.date-invite-message-textarea-input{background-color:#a86e000f!important;color:#a86e00e6!important;overflow-y:auto}.date-invite-message-textarea-input::-webkit-scrollbar{display:none}.date-invite-message-card--mobile,.date-action-card--mobile{display:none}@media (max-width: 1023px){.date-invite-message-card--mobile{display:flex;flex:initial;min-height:0}.date-invite-message-card--mobile .date-invite-message-display{flex:initial}.date-invite-message-card--mobile .date-invite-message-textarea{flex:initial;height:auto}.date-invite-message-card--desktop{display:none}.date-action-card--mobile{display:block}.date-action-card--desktop{display:none}}.date-sidebar-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;line-height:1.4;color:var(--color-on-surface);margin-bottom:1.5rem}.date-sidebar-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.date-sidebar-input-group{display:flex;flex-direction:column;gap:.5rem}.date-sidebar-label{font-family:var(--font-sans);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#4b626e}.date-sidebar-input{background-color:#fff;border:none;border-radius:.375rem;padding:.75rem 1rem;font-family:var(--font-sans);font-size:.875rem;color:var(--color-on-surface);outline:none;transition:box-shadow .3s ease-in-out}.date-sidebar-input:focus{box-shadow:0 0 0 2px #97436233}.date-sidebar-textarea{background-color:#fff;border:none;border-radius:.375rem;padding:.75rem 1rem;font-family:var(--font-sans);font-size:.875rem;color:var(--color-on-surface);outline:none;transition:box-shadow .3s ease-in-out;resize:vertical;min-height:100px;line-height:1.5}.date-sidebar-textarea:focus{box-shadow:0 0 0 2px #97436233}.date-sidebar-button{background-color:var(--color-on-surface);color:#fff;border:none;border-radius:9999px;padding:1rem 1.5rem;font-family:var(--font-sans);font-size:.875rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #1d354014;transition:box-shadow .3s ease-in-out,transform .3s ease}.date-sidebar-button+.date-sidebar-button-secondary{margin-top:-.5rem}.date-photo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.date-photo-modal-content{position:relative;display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:90vh;cursor:default;animation:fadeIn .3s ease-in-out}.date-photo-modal-stage{position:relative;display:flex;align-items:center;justify-content:center}.date-photo-modal-viewport{position:relative;width:min(85vw,72rem);height:min(85vh,56rem);overflow:hidden;touch-action:pan-y pinch-zoom}.date-photo-modal-track{position:relative;width:100%;height:100%}.date-photo-modal-track.transitions-disabled .date-photo-modal-slide{transition:none!important}.date-photo-modal-track.is-transitioning .date-photo-modal-slide{transition:transform .26s cubic-bezier(.22,1,.36,1)}.date-photo-modal-track.is-transitioning[data-transition-mode=arrow] .date-photo-modal-slide{transition-duration:.56s}.date-photo-modal-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;will-change:transform}.date-photo-modal-image-frame{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;transition:width .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1)}.date-photo-modal-image-frame.transitions-disabled{transition:none!important}.date-photo-modal-image-transformer{display:flex;align-items:center;justify-content:center;flex:0 0 auto;max-width:none;max-height:none;transform-origin:center center;transition:transform .42s cubic-bezier(.22,1,.36,1)}.date-photo-modal-image-transformer.transitions-disabled{transition:none!important}.date-photo-modal-image{width:100%;height:100%;object-fit:contain;border-radius:.5rem;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.date-photo-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:3.25rem;height:3.25rem;border:none;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:#ffffff24;color:#fff;cursor:pointer;transition:background-color .18s ease,transform .18s ease,opacity .18s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.date-photo-modal-nav:hover{background:#ffffff3d;transform:translateY(-50%) scale(1.04)}.date-photo-modal-nav .material-symbols-outlined{font-size:2rem;line-height:1}.date-photo-modal-nav--left{right:calc(100% + 1.25rem)}.date-photo-modal-nav--right{left:calc(100% + 1.25rem)}.date-photo-modal-controls{position:absolute;top:.75rem;left:.75rem;z-index:2;display:flex;align-items:center;gap:0;width:8.25rem;opacity:1;transition:opacity .52s ease .12s}.date-photo-modal-controls .date-photo-modal-control-button{transition:background-color .52s ease .12s,border-color .52s ease .12s,color .52s ease .12s,transform .18s ease,opacity .18s ease}.date-photo-modal-controls.is-hidden{opacity:0;pointer-events:none;transition-duration:60ms;transition-delay:0ms}.date-photo-modal-controls.is-hidden .date-photo-modal-control-button{background:#4c5a6000;border-color:#fff0;color:#fff0;transition-duration:60ms,60ms,60ms,.18s,.18s;transition-delay:0ms,0ms,0ms,0ms,0ms}.date-photo-modal-controls.is-idle-hidden{transition-duration:.32s;transition-delay:0ms}.date-photo-modal-controls.is-idle-hidden .date-photo-modal-control-button{transition-duration:.32s,.32s,.32s,.18s,.18s;transition-delay:0ms,0ms,0ms,0ms,0ms}.date-photo-modal-control-button{flex:0 0 2.75rem;width:2.75rem;height:2.75rem;border:none;background:#4c5a606b;color:#fff;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}.date-photo-modal-control-button:hover:not(:disabled){background:#4c5a6094}.date-photo-modal-control-button:disabled{cursor:wait;opacity:.55}.date-photo-modal-control-button .material-symbols-outlined{font-size:1.25rem;line-height:1;font-variation-settings:"FILL" 0}@media (max-width: 767px){.date-photo-modal-content{max-width:94vw;max-height:88vh}.date-photo-modal-viewport{width:94vw;height:82vh}.date-photo-modal-nav{display:none}.date-photo-modal-controls{top:.625rem;left:.625rem}.date-photo-modal-control-button:hover:not(:disabled){background:#4c5a606b}}.date-sidebar-button:hover{box-shadow:0 8px 24px #1d35400f}.date-sidebar-button:active{transform:scale(.95)}.date-sidebar-button:disabled,.date-sidebar-button[disabled]{opacity:.4;cursor:not-allowed}.date-sidebar-button-secondary{background-color:transparent;color:var(--color-on-surface);border:1.5px solid var(--color-on-surface);border-radius:9999px;padding:1rem 1.5rem;font-family:var(--font-sans);font-size:.875rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,transform .3s ease}.date-sidebar-button-secondary:hover{background-color:#1d35400f}.date-sidebar-button-secondary:active{transform:scale(.95)}.date-sidebar-button-secondary:disabled,.date-sidebar-button-secondary[disabled]{opacity:.4;cursor:not-allowed}.date-participants-list{display:flex;flex-direction:column;gap:1rem}.date-participants-label{font-family:var(--font-sans);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#4b626e}.date-participant-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:#e7f6ff;border-radius:.5rem}.date-participant-avatar{width:2rem;height:2rem;border-radius:50%;background-color:#cbd5e1}.date-participant-info{display:flex;flex-direction:column;gap:.25rem}.date-participant-name{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-on-surface)}.date-participant-status{font-family:var(--font-sans);font-size:.625rem;color:#4b626e}.date-invitee-title-name{color:var(--color-primary);font-weight:600}.date-invitee-details{display:flex;flex-direction:column;gap:1.5rem}.date-invitee-item{display:flex;flex-direction:column;gap:.5rem}.date-invitee-label{font-family:var(--font-sans);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin:0}.date-invitee-value{font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:var(--color-on-surface);line-height:1.5;margin:0;word-break:break-word}.date-invitee-buttons{display:flex;gap:.75rem;margin-top:1.5rem}.date-invitee-button{flex:1;padding:.75rem 1rem;border:none;border-radius:.375rem;font-family:var(--font-sans);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.date-invitee-button-accept{background-color:var(--color-primary);color:#fff}.date-invitee-button-accept:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.date-invitee-button-decline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.date-invitee-button-decline:hover:not(:disabled){background-color:#9743620d}.date-invitee-button:disabled{opacity:.6;cursor:not-allowed}.date-countdown-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.date-countdown-icon{color:var(--color-primary);font-size:2.5rem}.date-countdown-text{font-family:var(--font-serif);font-size:1.125rem;font-weight:400;line-height:1.4;color:#974362cc;font-style:italic;margin:0}.date-countdown-subtitle{font-family:var(--font-sans);font-size:.75rem;line-height:1.5;color:#97436299;padding:0 1rem;margin:0}.hidden{display:none}.calendar-page-main{padding:1rem 1rem 4rem;max-width:72rem;margin:0 auto;width:100%}@media (min-width: 480px){.calendar-page-main{padding-top:1rem}}@media (min-width: 768px){.calendar-page-main{padding:1rem 2rem 5rem}}.calendar-header{margin-bottom:3rem;display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 768px){.calendar-header{flex-direction:row;align-items:flex-end;justify-content:space-between}}.calendar-header-left{display:flex;flex-direction:column;gap:.5rem}.calendar-header-label-row{display:inline-flex;align-items:center;gap:.5rem}.calendar-header-label{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.2em}.calendar-header-spinner{width:1rem;height:1rem;flex-shrink:0}.calendar-month-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative}.calendar-nav-button{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:9999px;border:none;background:transparent;cursor:pointer;transition:background-color .3s ease}.calendar-nav-button:hover{background-color:#ffa8c433}.calendar-nav-button .material-symbols-outlined{font-size:2rem;color:var(--color-primary)}.calendar-month-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;font-style:italic;color:var(--color-on-background);white-space:nowrap;text-align:center;line-height:1.1}.calendar-month-picker-shell{position:relative;flex:1;display:flex;justify-content:center;min-width:0}.calendar-month-title-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:0;padding:.25rem .75rem;border:none;border-radius:9999px;background:transparent;cursor:pointer;transition:background-color .25s ease,transform .2s ease}.calendar-month-title-button:hover{background-color:#ffa8c424;transform:translateY(-1px)}.calendar-month-title-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.calendar-month-picker{position:absolute;top:calc(100% + .85rem);left:50%;z-index:30;width:min(22rem,calc(100vw - 2rem));padding:1rem;border:1px solid rgba(157,182,195,.22);border-radius:1.25rem;background:#fffffff5;box-shadow:0 22px 60px #1d35402e;transform:translate(-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.calendar-month-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.calendar-month-picker-year{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;font-style:italic;color:var(--color-on-surface)}.calendar-month-picker-year-button{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:none;border-radius:9999px;background:#ffa8c41f;color:var(--color-primary);cursor:pointer;transition:background-color .2s ease,transform .2s ease}.calendar-month-picker-year-button:hover{background:#ffa8c43d;transform:translateY(-1px)}.calendar-month-picker-year-button .material-symbols-outlined{font-size:1.5rem}.calendar-month-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.calendar-month-picker-month{min-height:2.5rem;border:1px solid rgba(157,182,195,.22);border-radius:9999px;background:#e7f6ff9e;color:var(--color-on-surface);font-family:var(--font-sans);font-size:.85rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.calendar-month-picker-month:hover{border-color:#97436247;background:#ffa8c429;transform:translateY(-1px)}.calendar-month-picker-month.is-active{border-color:transparent;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;box-shadow:0 6px 18px #9743623d}.calendar-month-picker-today{width:100%;margin-top:.85rem;padding:.75rem 1rem;border:none;border-radius:9999px;background:transparent;color:var(--color-primary);font-family:var(--font-sans);font-size:.85rem;font-weight:800;cursor:pointer;transition:background-color .2s ease}.calendar-month-picker-today:hover{background:#ffa8c424}@media (min-width: 391px){.calendar-month-title{font-size:2.5rem}}@media (min-width: 768px){.calendar-month-title{font-size:3.5rem}}.calendar-bento-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}@media (min-width: 1024px){.calendar-bento-grid{grid-template-columns:8fr 4fr}}.calendar-grid-container{background-color:var(--color-surface-container-lowest);border-radius:var(--radius-md);padding:2rem;box-shadow:0 20px 50px #00000005;border:1px solid rgba(157,182,195,.15);position:relative;overflow:visible}.calendar-grid-blur-bg{position:absolute;top:-5rem;right:-5rem;width:16rem;height:16rem;background-color:#ffa8c41a;border-radius:9999px;filter:blur(48px);pointer-events:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;row-gap:.75rem;text-align:center;position:relative;z-index:1}@media (min-width: 768px){.calendar-grid{row-gap:1.5rem}}.calendar-weekday{font-family:var(--font-sans);font-size:.7rem;font-weight:700;color:#667e8a;text-transform:uppercase;letter-spacing:.1em;padding-bottom:.75rem}@media (min-width: 768px){.calendar-weekday{font-size:.75rem;letter-spacing:.15em}}.calendar-day-cell{position:relative;display:flex;align-items:center;justify-content:center;height:2.75rem;cursor:pointer;border-radius:.75rem;transition:background-color .3s ease,transform .2s ease}@media (min-width: 768px){.calendar-day-cell{height:4rem;border-radius:1rem}}.calendar-day-cell:hover{background-color:#ffa8c41a}.calendar-day-number{font-family:var(--font-sans);font-size:.9rem;font-weight:400;color:var(--color-on-surface);position:relative;z-index:1}@media (min-width: 768px){.calendar-day-number{font-size:1.125rem}}.calendar-day-outside .calendar-day-number{color:#9db6c366}.calendar-day-outside:hover{background-color:#9db6c30d}.calendar-day-today{background-color:#ffa8c426}.calendar-day-today .calendar-day-number{color:var(--color-primary);font-weight:800}.calendar-day-selected{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));box-shadow:0 4px 16px #97436259;transform:scale(1.05)}.calendar-day-selected:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container))}.calendar-day-selected .calendar-day-number{color:#fff;font-weight:700}.calendar-day-selected .calendar-day-heart .material-symbols-outlined{color:#fff}.calendar-day-heart{position:absolute;top:.125rem;right:.125rem;z-index:2}@media (min-width: 768px){.calendar-day-heart{top:.25rem;right:.25rem}}.calendar-day-heart .material-symbols-outlined{font-size:.7rem;color:var(--color-primary)}@media (min-width: 768px){.calendar-day-heart .material-symbols-outlined{font-size:.875rem}}.calendar-day-has-date:not(.calendar-day-selected){background-color:#ffa8c414}.calendar-day-has-date:not(.calendar-day-selected) .calendar-day-number{color:var(--color-primary);font-weight:700}.calendar-highlight-panel{min-width:0}.calendar-highlight-card{background-color:var(--color-surface-container-low);border-radius:var(--radius-md);padding:2rem;border:1px solid rgba(157,182,195,.1);box-shadow:var(--shadow-sm)}.calendar-highlight-label{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.calendar-highlight-image-wrapper{position:relative;aspect-ratio:3 / 4;border-radius:1rem;overflow:hidden;margin-bottom:1.5rem;box-shadow:0 8px 24px #0000001a;transform:rotate(-1deg);transition:transform .5s ease}.calendar-highlight-card:hover .calendar-highlight-image-wrapper{transform:rotate(0)}.calendar-highlight-image{width:100%;height:100%;object-fit:cover}.calendar-highlight-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface-container-high),var(--color-surface-container-low));display:flex;align-items:center;justify-content:center}.calendar-highlight-image-placeholder .material-symbols-outlined{font-size:3rem;color:var(--color-outline-variant);opacity:.5}.calendar-highlight-date-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--color-on-surface);margin-bottom:.5rem;line-height:1.3}.calendar-highlight-message{font-family:var(--font-sans);font-size:.9rem;line-height:1.6;color:#4b626e;margin-bottom:1.5rem}.calendar-highlight-button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;font-family:var(--font-sans);font-size:.875rem;font-weight:700;border:none;border-radius:9999px;cursor:pointer;box-shadow:0 4px 16px #9743624d;transition:transform .2s ease,box-shadow .2s ease;width:100%}.calendar-highlight-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #97436266}.calendar-highlight-button:active{transform:translateY(0);box-shadow:0 2px 8px #9743624d}.calendar-highlight-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:12rem;text-align:center;gap:1rem}.calendar-highlight-empty-icon{font-size:2.5rem;color:var(--color-outline-variant);opacity:.4}.calendar-highlight-empty-text{font-family:var(--font-sans);font-size:.9rem;color:var(--color-outline-variant);max-width:16rem}.calendar-highlight-card .dashboard-form-input,.calendar-highlight-card .dashboard-form-textarea{background-color:#fff}.calendar-highlight-card .dashboard-form-input:focus,.calendar-highlight-card .dashboard-form-textarea:focus{background-color:#fff}.calendar-month-nav--inline{display:none;margin-bottom:1.5rem}@media (max-width: 1023px){.calendar-header{margin-bottom:2rem}.calendar-header .calendar-month-nav{display:none}.calendar-month-nav--inline{display:flex}.calendar-highlight-image-wrapper{aspect-ratio:3 / 4}}@media (max-width: 480px){.calendar-grid-container{padding:1rem}.calendar-highlight-card{padding:1.25rem}}.map-page-main{display:flex;flex-direction:column;min-height:calc(100vh - 5rem);overflow-y:auto}.map-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);gap:var(--spacing-4);flex-shrink:0}.map-title{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.2em;white-space:nowrap}.map-filter{flex-shrink:0;width:240px}.map-date-select{font-family:var(--font-sans);font-size:.875rem;padding:.5rem 2rem .5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-outline-variant);background-color:var(--color-surface-container-lowest);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e9fa8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;background-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--color-on-surface);cursor:pointer;width:100%;overflow:hidden;text-overflow:ellipsis}.map-date-select:focus{outline:none;border-color:var(--color-primary)}.map-container{height:60vh;flex-shrink:0;position:relative}.map-view{width:100%;height:100%}.map-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-2);color:var(--color-outline-variant);text-align:center;padding:var(--spacing-8)}.map-empty-icon{font-size:3rem;opacity:.5}.map-empty-hint{font-size:.875rem;opacity:.7}.map-empty-hint code{background:var(--color-surface-container-high);padding:.15em .4em;border-radius:4px;font-size:.8em}.map-info-window{font-family:var(--font-sans);max-width:280px;padding:.25rem}.map-info-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.25rem}.map-info-name{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--color-on-surface);margin:0;flex:1}.map-info-close{background:none;border:none;padding:0;cursor:pointer;color:var(--color-outline-variant);display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.map-info-close:hover{color:var(--color-on-surface)}.map-info-address{font-size:.8rem;color:var(--color-outline-variant);margin-bottom:.5rem}.map-info-link{font-size:.8rem;color:var(--color-primary);text-decoration:none;display:inline-block;margin-bottom:.5rem}.map-info-link:hover{text-decoration:underline}.map-info-dates{border-top:1px solid var(--color-surface-container-high);padding-top:.5rem;margin-top:.25rem}.map-info-dates-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-outline-variant);display:block;margin-bottom:.35rem}.map-info-date-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.map-info-date-link{display:flex;flex-direction:column;gap:.1rem;width:100%;min-width:0;text-align:left;background:var(--color-surface-container-low);border:none;border-radius:.5rem;padding:.4rem .5rem;cursor:pointer;transition:background .15s}.map-info-date-link:hover{background:var(--color-surface-container-high)}.map-info-date-time{display:block;min-width:0;font-size:.8rem;font-weight:600;color:var(--color-on-surface)}.map-info-date-msg{display:block;max-width:100%;min-width:0;font-size:.75rem;color:var(--color-outline-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.map-controls{padding:var(--spacing-2) var(--spacing-4);flex-wrap:wrap}.map-title,.map-filter{width:100%}.map-date-select{font-size:.8rem}}.gm-ui-hover-effect{display:none!important}.map-locations-section{padding:var(--spacing-4) var(--spacing-6) var(--spacing-8);flex-shrink:0}.map-locations-title{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.map-locations-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.map-location-item{display:flex;align-items:flex-start;gap:.625rem;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-md);padding:.5rem .625rem;cursor:pointer;transition:background .15s}.map-location-item:hover{background:var(--color-surface-container-low)}.map-location-item--active{background:var(--color-surface-container)}.map-location-item--active .map-location-item-name,.map-location-item--active .map-location-item-icon{color:var(--color-primary)}.map-location-item-icon{font-size:1.1rem;color:var(--color-outline-variant);margin-top:.1rem;flex-shrink:0}.map-location-item-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.map-location-item-name{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-on-surface);line-height:1.3}.map-location-item-address{font-family:var(--font-sans);font-size:.775rem;color:var(--color-outline-variant);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-groups-hero{position:relative;background-color:#e7f6ff;border-radius:var(--radius-md);padding:var(--spacing-8) var(--spacing-6);margin-bottom:var(--spacing-10);overflow:hidden}@media (min-width: 391px){.photo-groups-hero{padding:var(--spacing-10) var(--spacing-8)}}@media (min-width: 768px){.photo-groups-hero{padding:var(--spacing-12) var(--spacing-10)}}.photo-groups-hero-content{position:relative;z-index:2;max-width:48rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-4);padding:var(--spacing-8)}@media (max-width: 540px){.photo-groups-hero-content{padding:var(--spacing-4)}}@media (min-width: 768px){.photo-groups-hero-content{padding:var(--spacing-12)}}.photo-groups-hero-label{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px}.photo-groups-hero-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;line-height:1.2;color:var(--color-on-surface);margin:0;letter-spacing:-.01em}@media (min-width: 391px){.photo-groups-hero-title{font-size:2.5rem}}@media (min-width: 768px){.photo-groups-hero-title{font-size:3.5rem}}.photo-groups-hero-title em{font-style:italic;color:var(--color-primary);font-weight:300}.photo-groups-hero-subtitle{max-width:40rem;margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:#4b626e}.photo-groups-upload-status{margin:0;font-family:var(--font-sans);font-size:.9rem;line-height:1.5;color:#6b7d86}.photo-groups-upload-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;border:none;border-radius:9999px;padding:.75rem 1rem;font-family:var(--font-sans);font-weight:600;font-size:.95rem;text-align:center;cursor:pointer;transition:all .3s ease-in-out;min-width:12.5rem;margin-top:var(--spacing-2);position:relative}.photo-groups-upload-button:hover:not(:disabled){box-shadow:0 8px 24px #97436226}.photo-groups-upload-button:active:not(:disabled){transform:scale(.98)}.photo-groups-upload-button:disabled{opacity:.6;cursor:not-allowed}.photo-groups-upload-button-text{display:inline-flex}@media (max-width: 540px){.photo-groups-upload-button{padding:.75rem}.photo-groups-upload-button-text{display:none}}.photo-groups-button-spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:photo-groups-spin .6s linear infinite}.photo-groups-button-icon--hidden,.photo-groups-hidden-input{display:none}.photo-groups-hero-decoration-1{position:absolute;top:-50%;right:-10%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(255,168,196,.1) 0%,transparent 70%);border-radius:50%;z-index:1}.photo-groups-hero-decoration-2{position:absolute;bottom:-30%;left:10%;width:20rem;height:20rem;background:radial-gradient(circle,rgba(151,67,98,.08) 0%,transparent 70%);border-radius:50%;z-index:1}.photo-groups-library{margin-top:var(--spacing-12)}.photo-groups-library-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--spacing-8)}.photo-groups-library-title{font-family:var(--font-serif);font-size:2rem;font-weight:400;color:var(--color-on-surface);margin:0}.photo-groups-day-section+.photo-groups-day-section{margin-top:var(--spacing-10)}.photo-groups-day-header{margin-bottom:var(--spacing-8)}.photo-groups-day-title{font-family:var(--font-serif);font-size:1.45rem;font-weight:400;color:var(--color-on-surface);font-style:italic;line-height:1.4;margin:0}.photo-groups-day-groups{display:flex;flex-direction:column;gap:var(--spacing-8)}.photo-groups-location-section{background-color:#e7f6ff;border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);padding:1.5rem;box-shadow:0 2px 10px #1d35400a}@media (min-width: 768px){.photo-groups-location-section{padding:2rem}}.photo-groups-location-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.photo-groups-location-title{font-family:var(--font-sans);font-size:1rem;font-weight:700;letter-spacing:.02em;color:var(--color-primary);margin:0}.photo-groups-location-meta{font-family:var(--font-sans);font-size:.85rem;line-height:1.5;color:#6b7d86}.photo-groups-location-actions{display:flex;align-items:center;gap:.85rem}.photo-groups-group-selector{width:1.5rem;height:1.5rem;border-radius:9999px;border:2px solid var(--color-outline-variant);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;padding:0;box-shadow:0 2px 8px #1d354014}.photo-groups-group-selector-dot{width:.55rem;height:.55rem;border-radius:9999px;background:var(--color-outline-variant);transform:scale(0);transition:transform .18s ease}.photo-groups-group-selector.is-selected .photo-groups-group-selector-dot{transform:scale(1)}.photo-groups-empty-state{text-align:center;padding:var(--spacing-10);color:#9db6c3}.photo-groups-empty-state p{margin:0;font-size:1rem}.photo-groups-load-more-trigger{min-height:3rem}.photo-groups-load-more-content{display:flex;justify-content:center;padding:var(--spacing-8) 0 var(--spacing-4)}.image-loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--color-outline-variant);border-top-color:transparent;border-radius:50%;animation:photo-groups-spin .8s linear infinite;opacity:.6}@media (hover: hover) and (pointer: fine){.photo-groups-group-selector:hover{transform:scale(1.06);box-shadow:0 6px 16px #1d35401f}}.photo-groups-selection-bar{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);width:min(92vw,38rem);display:flex;flex-direction:column;background:#1d3540eb;color:#fff;border-radius:1.5rem;padding:.85rem .95rem .85rem 1rem;box-shadow:0 16px 40px #1d354038;z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:width .22s ease,border-radius .22s ease,padding .22s ease;overflow:hidden;overflow-x:hidden;gap:0}.photo-groups-selection-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d354029;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:29}.photo-groups-selection-bar.is-expanded{width:min(92vw,52rem);border-radius:1.75rem;padding:1rem;gap:1rem}.photo-groups-selection-header{display:flex;align-items:center;justify-content:flex-start;gap:1rem;flex-shrink:0;min-width:0;overflow:hidden;overflow-x:hidden}.photo-groups-selection-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;min-width:0;overflow:hidden;overflow-x:hidden}.photo-groups-selection-action-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-shrink:0}.photo-groups-selection-footer{display:flex;justify-content:flex-end;min-width:0;overflow:hidden}.photo-groups-selection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;min-width:0;max-width:100%;width:100%;justify-content:space-between}.photo-groups-selection-summary-main,.photo-groups-selection-header-actions{display:flex;align-items:center;gap:.85rem;min-width:0}.photo-groups-selection-tools-mobile{display:none}.photo-groups-selection-tools-desktop{display:inline-flex}.photo-groups-selection-summary.is-collapsed{flex:0 1 auto;justify-content:flex-start}.photo-groups-selection-clear{width:2rem;height:2rem;border-radius:9999px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .18s ease,transform .18s ease;padding:0}.photo-groups-selection-clear:hover{background-color:#ffffff1f;transform:scale(1.04)}.photo-groups-selection-clear .material-symbols-outlined{font-size:1.1rem}.photo-groups-selection-count{font-family:var(--font-sans);font-size:.95rem;font-weight:600;line-height:1.3;white-space:nowrap}.photo-groups-selection-count-button{border:none;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:color .16s ease,opacity .16s ease,text-decoration-color .16s ease}.photo-groups-selection-count-button:hover{color:#fff;text-decoration-color:currentColor}.photo-groups-selection-tools{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.photo-groups-selection-tool{width:1.75rem;height:1.75rem;border:none;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .18s ease,transform .18s ease,opacity .18s ease}.photo-groups-selection-tool .material-symbols-outlined{font-size:1.15rem;line-height:1}.photo-groups-selection-tool:hover:not(:disabled){transform:translateY(-1px);color:#ffffffc7}.photo-groups-selection-tool:disabled{cursor:wait;opacity:.55;transform:none}.photo-groups-selection-back{display:inline-flex;align-items:center;gap:.4rem;border:none;background:transparent;color:#fff;font-family:var(--font-sans);font-size:.95rem;font-weight:700;cursor:pointer;padding:0;min-width:0;max-width:100%}.photo-groups-selection-back .material-symbols-outlined{font-size:1.15rem}.photo-groups-selection-action{flex-shrink:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));color:#fff;border:none;border-radius:9999px;padding:.8rem 1.25rem;font-family:var(--font-sans);font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;min-width:fit-content;max-width:none;white-space:nowrap}.photo-groups-selection-action:hover{transform:translateY(-1px);box-shadow:0 10px 24px #9743623d}.photo-groups-selection-action:disabled{cursor:not-allowed;opacity:.72;transform:none;box-shadow:none}.photo-groups-selection-panel-shell{max-height:0;overflow:hidden;overflow-x:hidden;overflow-y:auto;transition:max-height .22s ease;display:flex;min-height:0}.photo-groups-selection-panel{display:flex;flex-direction:column;gap:1rem;width:100%;padding-top:.25rem;overflow:visible;overflow-x:hidden;min-height:0;opacity:1;transform:none;transition:none;pointer-events:auto}.photo-groups-selection-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.photo-groups-selection-panel-title{margin:0;font-family:var(--font-serif);font-size:1.35rem;font-weight:600;color:#ffffffdb}.photo-groups-selection-panel-copy{margin:.35rem 0 0;color:#ffffffc7;font-size:.95rem;line-height:1.55}.photo-groups-assignment-dropdown{position:relative}.photo-groups-assignment-trigger{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;border:1px solid rgba(255,255,255,.16);border-radius:1.15rem;background:#ffffff14;color:#fff;padding:1rem 3.25rem 1rem 1rem;position:relative;text-align:left;cursor:pointer}.photo-groups-assignment-trigger .material-symbols-outlined{position:absolute;top:50%;right:1rem;transform:translateY(-50%);font-size:1.3rem;color:#ffffffb8}.photo-groups-assignment-trigger-label{font-size:1rem;font-weight:700;line-height:1.35}.photo-groups-assignment-trigger-meta{color:#ffffffb8;font-size:.9rem;line-height:1.45}.photo-groups-assignment-menu{margin-top:.7rem;padding:1rem;border-radius:1.2rem;background:#0c1b22f5;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 48px #09121752;display:flex;flex-direction:column;gap:1rem}.photo-groups-assignment-section{display:flex;flex-direction:column;gap:.75rem}.photo-groups-assignment-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.photo-groups-assignment-section-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3}.photo-groups-assignment-search{width:min(100%,16rem);border-radius:9999px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff;padding:.65rem .95rem;font-size:.9rem}.photo-groups-assignment-search::placeholder{color:#ffffff80}.photo-groups-assignment-options{display:flex;flex-direction:column;gap:.65rem;max-height:none;overflow:visible}.photo-groups-assignment-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#fff;padding:.9rem 1rem;cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.photo-groups-assignment-option.is-selected{border-color:#ffffff75;background:#ffffff21}.photo-groups-assignment-option-title{font-size:.97rem;font-weight:700;line-height:1.35}.photo-groups-assignment-option-meta{color:#ffffffb8;font-size:.88rem;line-height:1.45}.photo-groups-assignment-option-badge{margin-top:.25rem;display:inline-flex;align-items:center;border-radius:9999px;background:#fbdbe62e;color:#fbdbe6;padding:.32rem .65rem;font-size:.75rem;font-weight:700}.photo-groups-assignment-empty{margin:0;color:#ffffff9e;font-size:.92rem}.photo-groups-create-date-toggle{align-self:flex-start;border:none;background:transparent;color:#fff;font-family:var(--font-sans);font-size:.95rem;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:#ffffff52;text-underline-offset:.18rem}.photo-groups-confirm-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.photo-groups-confirm-item{display:flex;flex-direction:column;gap:.22rem;border-radius:1.15rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:1rem;color:#ffffffd1;line-height:1.45}.photo-groups-confirm-item-button{width:100%;font:inherit;text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.photo-groups-confirm-item-button:hover{background:#ffffff1f;border-color:#ffffff38;transform:translateY(-1px)}.photo-groups-confirm-item strong{color:#fff;font-size:1rem}.photo-groups-confirm-label{color:#ffffffa3;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.photo-groups-create-form{display:flex;flex-direction:column;gap:.95rem}.photo-groups-create-form .dashboard-form-group{margin-bottom:0}@media (max-width: 640px){.photo-groups-selection-bar{width:min(94vw,28rem);border-radius:1.5rem;padding:1rem}.photo-groups-selection-bar.is-expanded{width:min(94vw,34rem)}.photo-groups-selection-header,.photo-groups-selection-footer,.photo-groups-selection-row{align-items:stretch}.photo-groups-selection-row{flex-direction:column}.photo-groups-selection-summary,.photo-groups-selection-summary.is-collapsed{justify-content:space-between}.photo-groups-selection-summary-main,.photo-groups-selection-header-actions{width:100%;justify-content:flex-start}.photo-groups-selection-action-group{width:100%;justify-content:flex-end}.photo-groups-selection-tools{width:auto;justify-content:flex-start}.photo-groups-selection-tools-mobile{display:inline-flex}.photo-groups-selection-tools-desktop{display:none}.photo-groups-selection-count{white-space:normal;margin-left:auto;text-align:right}.photo-groups-selection-footer{justify-content:stretch}.photo-groups-selection-action{width:100%}.photo-groups-assignment-section-header{flex-direction:column;align-items:stretch}.photo-groups-assignment-search{width:100%}.photo-groups-confirm-card{grid-template-columns:1fr}}@keyframes photo-groups-spin{to{transform:rotate(360deg)}}#root{width:100%;min-height:100vh}:root{--color-primary: #974362;--color-primary-container: #ffa8c4;--color-secondary-container: #ffddb4;--color-surface: #f4faff;--color-surface-container-low: #e7f6ff;--color-surface-container-lowest: #ffffff;--color-surface-container-high: #d1ecf8;--color-surface-container-highest: #c5e5f1;--color-on-surface: #1d3540;--color-on-background: #1d3540;--color-outline-variant: #9db6c3;--spacing-2: .5rem;--spacing-4: 1rem;--spacing-6: 1.4rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--radius-md: 1.5rem;--radius-xl: 3rem;--font-serif: "Noto Serif", serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--shadow-sm: 0 2px 4px rgba(29, 53, 64, .06);--shadow-md: 0 4px 12px rgba(29, 53, 64, .08);--shadow-lg: 0 8px 24px rgba(29, 53, 64, .06)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{background-color:var(--color-surface);color:var(--color-on-background);font-family:var(--font-sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.display-lg{font-family:var(--font-serif);font-size:3.5rem;font-weight:400;line-height:1.2}.headline-md{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;line-height:1.4}.title-md{font-family:var(--font-sans);font-size:1.125rem;font-weight:500;line-height:1.4}.title-sm{font-family:var(--font-sans);font-size:.875rem;font-weight:600;line-height:1.25}.body-lg{font-family:var(--font-sans);font-size:1rem;font-weight:400;line-height:1.5}.label-md{font-family:var(--font-sans);font-size:.75rem;font-weight:500;line-height:1.25;text-transform:uppercase;letter-spacing:.5px}
