@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@font-face{font-family:Roslindale;src:url(/assets/Roslindale-DisplayLight-DmL7EJdJ.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}:root{--font-display: "Roslindale", Georgia, serif;--bg-primary: #faf6f1;--bg-secondary: #f5ebe0;--text-primary: #1a1a1a;--text-secondary: #666666;--accent: #b85c38;--accent-hover: #9a4a2e;--border: #d6ccc2;--shadow: rgba(0, 0, 0, .1);--error: #c73e1d;--nav-height: 60px}*{margin:0;padding:0;box-sizing:border-box}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}*{-webkit-tap-highlight-color:transparent}*:focus{outline:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}html{background-color:#faf6f1}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overscroll-behavior:contain;transition:background .3s ease,color .3s ease;background-color:#faf6f1}#app{min-height:100vh;background-color:#faf6f1}.screen{height:100dvh;height:var(--viewport-height, 100dvh);display:flex;align-items:center;justify-content:center;padding:1rem;padding-bottom:calc(var(--nav-height) + 1rem + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.screen::-webkit-scrollbar{display:none}.hidden{display:none!important}.version-info{position:fixed;bottom:20px;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--text-secondary);opacity:.5;font-weight:500;pointer-events:none;z-index:1;text-align:center}body.keyboard-open .screen{top:revert}.container{width:100%;max-width:800px}.logo{width:120px;height:120px;margin:0 auto 1.5rem;display:block}.wordmark{max-width:300px;height:auto;margin:0 auto 2rem;display:block}h1{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.tagline{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-content{display:grid;gap:.875rem}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem;transition:all .3s ease}.greeting-header{border-bottom:none;padding-bottom:1rem}.greeting-text{font-size:.9rem;color:var(--text-secondary);margin-bottom:0;font-weight:400;line-height:1.2}.greeting-name{font-size:2rem;font-weight:700;margin:0;color:var(--text-primary);line-height:1.1}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.setting-label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary)}.setting-icon{font-size:1.25rem}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border);transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--accent)}input:checked+.toggle-slider:before{transform:translate(22px)}.logout-btn{width:100%;margin-top:2rem;margin-bottom:1rem}.empty-state{color:var(--text-secondary);text-align:center;padding:2rem}.user-info p{margin-bottom:.5rem}.user-info strong{color:var(--text-secondary);font-weight:500}.loader{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.error-toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);background:var(--error);color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px var(--shadow);z-index:1000;max-width:90%;text-align:center;animation:slideDown .3s ease}.success-toast{position:fixed;bottom:calc(56px + env(safe-area-inset-bottom) + 1rem);right:1rem;background:var(--accent);color:#fff;padding:.75rem 1.25rem;border-radius:8px;box-shadow:0 4px 12px var(--shadow);z-index:1000;font-size:.9rem;animation:slideInFromRight .3s ease}@keyframes slideDown{0%{transform:translate(-50%,-100px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes slideInFromRight{0%{transform:translate(100px);opacity:0}to{transform:translate(0);opacity:1}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:100;box-shadow:0 -2px 10px var(--shadow)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:none;border:none;outline:none;color:var(--text-secondary);cursor:pointer;padding:.4rem .75rem;transition:all .2s ease;font-size:.7rem;font-weight:500;flex:1;position:relative}.nav-item:focus{outline:none}.nav-item.active{color:var(--accent);position:relative}.nav-item.active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:var(--accent);opacity:.12;border-radius:50%;z-index:-1}[data-theme=light] .nav-item.active:before{opacity:.08}.nav-item svg{width:20px;height:20px}.nav-logo{position:relative;display:flex;align-items:center;justify-content:center;padding:0 1rem}.nav-logo-img{width:32px;height:32px;object-fit:contain;transition:transform .2s ease;border-radius:50%;padding:4px}.nav-logo.active .nav-logo-img{background:#c8786426;box-shadow:0 0 0 2px var(--accent)}.membership-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.membership-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.membership-card h3{margin:0;font-size:1rem;font-weight:600}.membership-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#d4edda;color:#155724}.membership-badge.frozen{background:#cce5ff;color:#004085}.membership-dates{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.membership-usage{font-size:.875rem;color:var(--text-secondary)}.usage-bar{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:.5rem}.usage-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.profile-content{padding-bottom:90px}.profile-content .card{margin-bottom:0}.update-prompt{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--background);border:2px solid var(--accent);border-radius:16px;padding:1.5rem;z-index:1000;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease-out;max-width:90%;width:320px}.update-content p{margin:0 0 1rem;font-weight:600;text-align:center}.update-actions{display:flex;gap:.75rem}.update-actions button{flex:1;padding:.75rem}@keyframes slideUp{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}@media(max-width:640px){h1{font-size:1.5rem}.class-card-header{flex-direction:column;align-items:flex-start}}.rotate-overlay{position:fixed;inset:0;background:var(--bg-primary);z-index:99999;display:flex;align-items:center;justify-content:center}.rotate-message{text-align:center;padding:2rem}.rotate-icon{width:64px;height:64px;margin-bottom:1.5rem;color:var(--accent);animation:rotate-hint 2s ease-in-out infinite}@keyframes rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}.rotate-message p{color:var(--text-secondary);font-size:1.1rem;margin:0;line-height:1.4}.nav-item-content[data-v-a6ee5daa]{position:relative;display:flex;align-items:center;justify-content:center}.unread-badge-nav[data-v-a6ee5daa]{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f44;color:#fff;font-size:.65rem;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}.nav-placeholder[data-v-a6ee5daa]{cursor:default;opacity:.3;pointer-events:none}.version-text[data-v-512d5222]{margin-top:2rem;font-size:.75rem;color:var(--color-text-muted);cursor:default}.page-header[data-v-758e2df7]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--bg-primary);flex-shrink:0;width:100%;border-bottom:1px solid var(--border)}.header-left[data-v-758e2df7]{display:flex;align-items:center;gap:8px}.back-button[data-v-758e2df7]{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:4px;margin:-4px 4px -4px -4px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s}.page-title[data-v-758e2df7]{font-family:var(--font-display);font-size:20px;font-weight:300;margin:0;color:var(--text-primary)}.modal-overlay[data-v-c3dd8705]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-card[data-v-c3dd8705]{position:relative;background:var(--bg-color, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%;animation:modal-slide-up-c3dd8705 .3s ease-out;overflow:hidden}@keyframes modal-slide-up-c3dd8705{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-c3dd8705]{padding:24px 24px 16px;text-align:center}.modal-icon[data-v-c3dd8705]{font-size:3rem;display:block;margin-bottom:12px}.modal-header h2[data-v-c3dd8705]{margin:0;font-size:1.5rem;color:var(--text-color, #333)}.modal-body[data-v-c3dd8705]{padding:0 24px 24px}.version-info[data-v-c3dd8705]{position:relative;background:#f5f5f5;border-radius:12px;padding:20px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.version-row[data-v-c3dd8705]{display:flex;flex-direction:column;gap:4px;flex:1}.version-label[data-v-c3dd8705]{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.version-value[data-v-c3dd8705]{font-size:1.25rem;font-weight:600;color:#333}.version-new[data-v-c3dd8705]{color:#4caf50}.version-arrow[data-v-c3dd8705]{font-size:1.5rem;color:#999;flex-shrink:0}.update-message[data-v-c3dd8705]{text-align:center;color:var(--text-secondary, #666);font-size:.9rem;margin:0;line-height:1.5}.modal-footer[data-v-c3dd8705]{padding:16px 24px 24px;display:flex;gap:12px}.modal-footer button[data-v-c3dd8705]{flex:1;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-secondary[data-v-c3dd8705]{background:var(--bg-secondary, #f0f0f0);color:var(--text-color, #333)}.btn-primary[data-v-c3dd8705]{background:#4caf50;color:#fff}.modal-fade-enter-active[data-v-c3dd8705],.modal-fade-leave-active[data-v-c3dd8705]{transition:opacity .2s}.modal-fade-enter-from[data-v-c3dd8705],.modal-fade-leave-to[data-v-c3dd8705]{opacity:0}.modal-overlay[data-v-af89574a]{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:9999}.modal-sheet[data-v-af89574a]{background:var(--bg-primary);border-radius:20px 20px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}.modal-header[data-v-af89574a]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-af89574a]{margin:0;font-size:1.1rem;font-weight:600}.close-btn[data-v-af89574a]{background:var(--bg-secondary);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary)}.modal-content[data-v-af89574a]{padding:24px 20px}.app-preview[data-v-af89574a]{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.app-icon[data-v-af89574a]{width:80px;height:80px;border-radius:18px;box-shadow:0 4px 12px #0000001a}.app-name[data-v-af89574a]{font-weight:600;font-size:1.1rem}.description[data-v-af89574a]{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:24px;line-height:1.5}.instructions[data-v-af89574a]{background:var(--bg-secondary);border-radius:12px;padding:16px;margin-bottom:24px}.step[data-v-af89574a]{display:flex;align-items:flex-start;gap:12px;margin:0;padding:8px 0;font-size:.95rem;line-height:1.4}.step[data-v-af89574a]:not(:last-child){border-bottom:1px solid var(--border)}.step-num[data-v-af89574a]{background:var(--accent);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.info-text[data-v-af89574a]{text-align:center;color:var(--text-secondary);font-size:.95rem;padding:20px 0}.inline-icon[data-v-af89574a]{display:inline;vertical-align:middle;margin:0 2px}.note[data-v-af89574a]{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-top:16px;font-style:italic}.error[data-v-af89574a]{color:var(--error);text-align:center;font-size:.9rem;margin-top:12px}.modal-enter-active[data-v-af89574a],.modal-leave-active[data-v-af89574a]{transition:opacity .3s ease}.modal-enter-from[data-v-af89574a],.modal-leave-to[data-v-af89574a]{opacity:0}.modal-enter-active .modal-sheet[data-v-af89574a]{animation:slide-up-af89574a .3s ease-out}.modal-leave-active .modal-sheet[data-v-af89574a]{animation:slide-down-af89574a .2s ease-in}@keyframes slide-up-af89574a{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down-af89574a{0%{transform:translateY(0)}to{transform:translateY(100%)}}.modal-overlay[data-v-606cad4e]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-606cad4e]{background:var(--bg-primary);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026}.modal-header[data-v-606cad4e]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-606cad4e]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.close-button[data-v-606cad4e]{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:var(--text-secondary);transition:all .2s}.close-button[data-v-606cad4e]:hover{background:var(--bg-secondary);color:var(--text-primary)}.close-button[data-v-606cad4e]:disabled{opacity:.5;cursor:not-allowed}.modal-body[data-v-606cad4e]{padding:24px}.form-group[data-v-606cad4e]{margin-bottom:20px}.form-group label[data-v-606cad4e]{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:.9rem}.label-with-help[data-v-606cad4e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.label-with-help label[data-v-606cad4e]{margin-bottom:0}.help-button[data-v-606cad4e]{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center}.help-button[data-v-606cad4e]:hover{background:var(--bg-secondary);color:var(--accent)}.help-button[data-v-606cad4e]:focus{outline:2px solid var(--accent);outline-offset:2px}.sr-only[data-v-606cad4e]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.help-section[data-v-606cad4e]{margin-bottom:12px;background:var(--bg-secondary);border-radius:8px;padding:16px;border:1px solid var(--border);animation:slideDown-606cad4e .2s ease-out}@keyframes slideDown-606cad4e{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.help-content[data-v-606cad4e]{font-size:.85rem}.platform-section[data-v-606cad4e]{margin-bottom:16px}.platform-section[data-v-606cad4e]:last-child{margin-bottom:0}.platform-section h4[data-v-606cad4e]{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.platform-section ul[data-v-606cad4e]{margin:0;padding-left:20px;list-style:none}.platform-section li[data-v-606cad4e]{margin-bottom:4px;color:var(--text-secondary);position:relative;padding-left:8px}.platform-section li[data-v-606cad4e]:before{content:"•";position:absolute;left:-12px;color:var(--accent)}.platform-section strong[data-v-606cad4e]{color:var(--text-primary);font-weight:500}.help-note[data-v-606cad4e]{margin:12px 0 0;font-size:.8rem;color:var(--text-secondary);font-style:italic;text-align:center;padding-top:12px;border-top:1px solid var(--border)}.form-group textarea[data-v-606cad4e]{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;line-height:1.4;background:var(--bg-primary);color:var(--text-primary);resize:vertical;min-height:100px;transition:border-color .2s}.form-group textarea[data-v-606cad4e]:focus{outline:none;border-color:var(--accent)}.form-group textarea[data-v-606cad4e]:disabled{opacity:.6;cursor:not-allowed}.character-count[data-v-606cad4e]{text-align:right;font-size:.8rem;color:var(--text-secondary);margin-top:4px}.file-upload-area[data-v-606cad4e]{border:2px dashed var(--border);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-primary);margin-top:8px}.file-upload-area[data-v-606cad4e]:hover:not(.disabled){border-color:var(--accent);background:var(--bg-secondary)}.file-upload-area.drag-over[data-v-606cad4e]{border-color:var(--accent);background:var(--bg-secondary)}.file-upload-area.disabled[data-v-606cad4e]{opacity:.6;cursor:not-allowed}.upload-prompt[data-v-606cad4e]{color:var(--text-secondary)}.upload-prompt p[data-v-606cad4e]{margin:8px 0 4px;font-size:.9rem}.upload-hint[data-v-606cad4e]{font-size:.8rem;opacity:.7}.file-preview[data-v-606cad4e]{display:flex;flex-direction:column;gap:12px}.image-preview img[data-v-606cad4e],.video-preview video[data-v-606cad4e]{max-width:100%;max-height:200px;border-radius:6px;object-fit:contain}.file-info[data-v-606cad4e]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px}.file-name[data-v-606cad4e]{flex:1;font-size:.9rem;color:var(--text-primary);word-break:break-word}.file-size[data-v-606cad4e]{font-size:.8rem;color:var(--text-secondary)}.remove-file[data-v-606cad4e]{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--text-secondary);transition:all .2s}.remove-file[data-v-606cad4e]:hover:not(:disabled){background:#ff3b301a;color:#ff3b30}.remove-file[data-v-606cad4e]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-606cad4e]{padding:12px;background:#ff3b301a;color:#ff3b30;border-radius:6px;font-size:.9rem;margin-bottom:16px}.success-message[data-v-606cad4e]{padding:12px;background:#30d1581a;color:#30d158;border-radius:6px;font-size:.9rem;margin-bottom:16px}.modal-actions[data-v-606cad4e]{display:flex;gap:12px;justify-content:flex-end}.btn-secondary[data-v-606cad4e],.btn-primary[data-v-606cad4e]{padding:12px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;border:none}.btn-secondary[data-v-606cad4e]{background:var(--bg-secondary);color:var(--text-primary)}.btn-secondary[data-v-606cad4e]:hover:not(:disabled){background:var(--border)}.btn-primary[data-v-606cad4e]{background:var(--accent);color:#fff}.btn-primary[data-v-606cad4e]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary[data-v-606cad4e]:disabled,.btn-secondary[data-v-606cad4e]:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner[data-v-606cad4e]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-606cad4e 1s linear infinite}@keyframes spin-606cad4e{to{transform:rotate(360deg)}}@media(max-width:640px){.modal-overlay[data-v-606cad4e]{padding:16px}.modal-content[data-v-606cad4e]{max-height:95vh}.modal-header[data-v-606cad4e],.modal-body[data-v-606cad4e]{padding:16px 20px}.modal-actions[data-v-606cad4e]{flex-direction:column}.btn-secondary[data-v-606cad4e],.btn-primary[data-v-606cad4e]{width:100%;justify-content:center}}.add-app-btn[data-v-6f512f57]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity .2s}.add-app-btn[data-v-6f512f57]:active{transform:scale(.97)}.profile-header[data-v-6f512f57]{display:flex;gap:16px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.profile-avatar[data-v-6f512f57]{flex-shrink:0;width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--accent);position:relative;cursor:pointer}.profile-avatar[data-v-6f512f57]:active{transform:scale(.97)}.avatar-overlay[data-v-6f512f57]{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.profile-avatar.uploading .avatar-overlay[data-v-6f512f57]{opacity:1}.camera-icon[data-v-6f512f57]{font-size:1.5rem}.upload-spinner[data-v-6f512f57]{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-6f512f57 .8s linear infinite}@keyframes spin-6f512f57{to{transform:rotate(360deg)}}.photo-input[data-v-6f512f57]{display:none}.avatar-image[data-v-6f512f57]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-6f512f57]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent),#8a9e7a)}.profile-details[data-v-6f512f57]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.profile-name[data-v-6f512f57]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.profile-bio[data-v-6f512f57]{display:flex;flex-direction:column;gap:4px}.bio-text[data-v-6f512f57]{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4;white-space:pre-wrap;word-break:break-word}.edit-bio-btn[data-v-6f512f57]{align-self:flex-start;padding:0;background:none;border:none;font-size:.75rem;color:var(--accent);cursor:pointer}.bio-editor[data-v-6f512f57]{display:flex;flex-direction:column;gap:8px}.bio-editor textarea[data-v-6f512f57]{width:100%;padding:8px;border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-family:inherit;resize:none;background:var(--bg-primary);color:var(--text-primary)}.bio-editor textarea[data-v-6f512f57]:focus{outline:none;border-color:var(--accent)}.bio-actions[data-v-6f512f57]{display:flex;align-items:center;gap:8px}.char-count[data-v-6f512f57]{font-size:.7rem;color:var(--text-tertiary);margin-right:auto}.cancel-btn[data-v-6f512f57],.save-btn[data-v-6f512f57]{padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer}.cancel-btn[data-v-6f512f57]{background:none;border:1px solid var(--border);color:var(--text-secondary)}.save-btn[data-v-6f512f57]{background:var(--accent);border:none;color:#fff}.save-btn[data-v-6f512f57]:disabled{opacity:.6;cursor:not-allowed}[data-v-6f512f57] .greeting{display:inline}[data-v-6f512f57] .cursor{display:inline;font-weight:300;color:var(--bg-primary);margin-left:-2px;margin-right:-2px}[data-v-6f512f57] .cursor.active{color:var(--accent);animation:blink-6f512f57 1s step-end infinite}@keyframes blink-6f512f57{0%,to{opacity:1}50%{opacity:0}}.profile-screen[data-v-6f512f57]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100dvh;height:var(--viewport-height, 100dvh);overflow-x:hidden;overflow-y:auto}.profile-content[data-v-6f512f57]{width:100%;height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));overflow-y:auto}.dashboard-content[data-v-6f512f57]{padding:16px;display:flex;flex-direction:column;gap:24px}.section[data-v-6f512f57]{display:flex;flex-direction:column;gap:8px}.section-title[data-v-6f512f57]{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding-left:4px}.memberships-list[data-v-6f512f57]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.membership-item[data-v-6f512f57]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.membership-item[data-v-6f512f57]:last-child{border-bottom:none}.membership-info[data-v-6f512f57]{display:flex;flex-direction:column;gap:2px}.membership-name[data-v-6f512f57]{font-size:.9rem;font-weight:500;color:var(--text-primary)}.membership-dates[data-v-6f512f57]{font-size:.75rem;color:var(--text-tertiary)}.membership-badge[data-v-6f512f57]{font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:6px;background:#e8f5e9;color:#2e7d32}.membership-badge.frozen[data-v-6f512f57]{background:#fff3e0;color:#e65100}.membership-help[data-v-6f512f57]{margin:12px 0 0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.membership-help a[data-v-6f512f57]{color:var(--accent);text-decoration:none}.settings-card[data-v-6f512f57]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.account-row[data-v-6f512f57]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.account-row[data-v-6f512f57]:last-child{border-bottom:none}.account-label[data-v-6f512f57]{font-size:.9rem;color:var(--text-primary)}.account-value[data-v-6f512f57]{font-size:.85rem;color:var(--text-secondary)}.logout-row[data-v-6f512f57]{cursor:pointer}.logout-text[data-v-6f512f57]{font-size:.9rem;color:#c62828}.feedback-row[data-v-6f512f57]{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;cursor:pointer;transition:background-color .2s;border-radius:8px;margin:-4px 0}.feedback-row[data-v-6f512f57]:hover{background-color:var(--bg-secondary)}.feedback-content[data-v-6f512f57]{display:flex;align-items:center;gap:12px}.feedback-icon[data-v-6f512f57]{font-size:1.25rem}.feedback-info[data-v-6f512f57]{display:flex;flex-direction:column;gap:2px}.feedback-title[data-v-6f512f57]{font-size:.9rem;font-weight:500;color:var(--text-primary)}.feedback-subtitle[data-v-6f512f57]{font-size:.8rem;color:var(--text-secondary);opacity:.8}.feedback-arrow[data-v-6f512f57]{font-size:1.2rem;color:var(--text-secondary);opacity:.6}.profile-footer[data-v-6f512f57]{margin-top:auto;padding-top:16px;text-align:center}.version-link[data-v-6f512f57]{margin:0 0 4px;font-size:.7rem;color:var(--text-tertiary);cursor:pointer}.history-link[data-v-6f512f57]{color:var(--accent)}.update-link[data-v-6f512f57]{background:none;border:none;padding:0;font-size:.7rem;color:var(--accent);cursor:pointer}.update-link[data-v-6f512f57]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-6f512f57]{padding:24px 16px;text-align:center;color:var(--text-secondary);font-size:.875rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.progress-container[data-v-6f512f57]{margin-top:12px;display:flex;align-items:center;gap:12px}.progress-bar[data-v-6f512f57]{flex:1;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill[data-v-6f512f57]{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:4px;transition:width .3s ease-out;animation:shimmer-6f512f57 1.5s infinite}@keyframes shimmer-6f512f57{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.progress-text[data-v-6f512f57]{font-size:.75rem;color:#666;font-weight:500;min-width:40px;text-align:right}.setting-row[data-v-6f512f57]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.setting-label[data-v-6f512f57]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-primary)}.setting-icon[data-v-6f512f57]{font-size:1.1rem}.permission-note[data-v-6f512f57]{font-size:.7rem;color:var(--text-tertiary);font-style:italic}.toggle-switch[data-v-6f512f57]{position:relative;width:48px;height:28px}.toggle-switch input[data-v-6f512f57]{opacity:0;width:0;height:0}.toggle-slider[data-v-6f512f57]{position:absolute;cursor:pointer;inset:0;background-color:var(--border);border-radius:28px;transition:.3s}.toggle-slider[data-v-6f512f57]:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider[data-v-6f512f57]{background-color:var(--accent)}.toggle-switch input:checked+.toggle-slider[data-v-6f512f57]:before{transform:translate(20px)}.toggle-switch.disabled[data-v-6f512f57]{opacity:.5;cursor:not-allowed}.toggle-switch.disabled input[data-v-6f512f57]{cursor:not-allowed}.onboarding-row[data-v-6f512f57]{cursor:pointer}.onboarding-status[data-v-6f512f57]{color:var(--accent)}.modal-overlay[data-v-6f512f57]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-6f512f57]{background:var(--bg-primary);border-radius:16px;width:100%;max-width:400px;max-height:80vh;overflow-y:auto}.modal-header[data-v-6f512f57]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-6f512f57]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.close-btn[data-v-6f512f57]{background:none;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:0;line-height:1}.modal-body[data-v-6f512f57]{padding:20px;display:flex;flex-direction:column;gap:20px}.summary-section[data-v-6f512f57]{display:flex;flex-direction:column;gap:8px}.summary-section label[data-v-6f512f57]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.summary-value[data-v-6f512f57]{margin:0;font-size:.95rem;color:var(--text-primary)}.empty-text[data-v-6f512f57]{margin:0;font-size:.9rem;color:var(--text-tertiary);font-style:italic}.goals-display[data-v-6f512f57]{display:flex;flex-wrap:wrap;gap:8px}.goal-tag[data-v-6f512f57]{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;font-size:.85rem;color:var(--text-primary)}.times-display[data-v-6f512f57]{display:flex;flex-wrap:wrap;gap:8px}.time-tag[data-v-6f512f57]{padding:6px 12px;background:var(--accent);color:#fff;border-radius:20px;font-size:.85rem}.reset-section[data-v-6f512f57]{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);text-align:center}.reset-btn[data-v-6f512f57]{padding:10px 20px;background:#c62828;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer}.reset-btn[data-v-6f512f57]:disabled{opacity:.6;cursor:not-allowed}.reset-note[data-v-6f512f57]{margin:8px 0 0;font-size:.75rem;color:var(--text-tertiary)}.recommended-card[data-v-6f512f57]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--accent),#8a9e7a);border-radius:12px;cursor:pointer;transition:transform .2s,opacity .2s}.recommended-card[data-v-6f512f57]:active{transform:scale(.98);opacity:.9}.recommended-content[data-v-6f512f57]{display:flex;align-items:center;gap:10px}.recommended-icon[data-v-6f512f57]{font-size:1.1rem}.recommended-text[data-v-6f512f57]{font-size:.95rem;font-weight:500;color:#fff}.recommended-arrow[data-v-6f512f57]{font-size:1.2rem;color:#fffc}.dashboard-screen[data-v-cfb36e45]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;min-height:100dvh;width:100vw;max-width:100vw;padding:0!important;overflow-x:hidden;overflow-y:auto;background:var(--bg-primary)}.dashboard-content[data-v-cfb36e45]{display:flex;flex-direction:column;flex:1;width:100%;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.hero-greeting[data-v-cfb36e45]{padding:3vh 24px 0;padding-top:calc(3vh + env(safe-area-inset-top));text-align:center}.greeting-label[data-v-cfb36e45]{font-size:1.1rem;color:var(--text-secondary);margin-bottom:4px;display:inline-flex;justify-content:center}.greeting[data-v-cfb36e45]{color:var(--text-primary)}.greeting[data-v-cfb36e45]:empty:before{content:" ";visibility:hidden}.greeting-name[data-v-cfb36e45]{font-family:var(--font-display);font-size:3rem;font-weight:300;color:var(--text-primary);line-height:1.1;margin:0 0 8px}.cursor[data-v-cfb36e45]{color:transparent;font-weight:300;animation:none;width:0;display:inline-block}.cursor.active[data-v-cfb36e45]{color:var(--accent);animation:blink-cfb36e45 .8s infinite}@keyframes blink-cfb36e45{0%,50%{opacity:1}51%,to{opacity:0}}.quote-section[data-v-cfb36e45]{padding:16px 32px 20px;text-align:center;position:relative}.quote-section[data-v-cfb36e45]:before{content:'"';position:absolute;top:-8px;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:4rem;color:var(--accent);opacity:.15;line-height:1;pointer-events:none}.quote-text[data-v-cfb36e45]{font-family:var(--font-display);font-size:1.2rem;font-weight:300;color:var(--text-primary);line-height:1.35;margin-bottom:8px;position:relative;z-index:1}.quote-author[data-v-cfb36e45]{font-size:.85rem;color:var(--accent);font-weight:500;letter-spacing:1px;text-transform:uppercase}.mosaic-card.card-onboarding[data-v-cfb36e45]{background:url(/images/onboarding-welcome.jpg) center / cover no-repeat;border:none;min-height:160px;position:relative;overflow:hidden;padding:0}.mosaic-card.card-onboarding[data-v-cfb36e45]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d)}.card-onboarding .card-label[data-v-cfb36e45]{position:absolute;top:20px;left:20px;z-index:1;color:#fff;opacity:.85}.card-onboarding .onboarding-inner[data-v-cfb36e45]{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:40px 20px 20px}.card-onboarding .card-value[data-v-cfb36e45]{color:#fff;font-size:1.2rem;margin-bottom:4px}.card-onboarding .card-meta[data-v-cfb36e45]{color:#ffffffd9}.onboarding-bar[data-v-cfb36e45]{position:relative;z-index:1;height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden;margin:0 20px 20px}.onboarding-fill[data-v-cfb36e45]{height:100%;background:#fff;border-radius:2px;transition:width .3s ease}.mosaic-grid[data-v-cfb36e45]{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(80px,auto);gap:12px;padding:0 16px}.mosaic-card[data-v-cfb36e45]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:20px;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;justify-content:center;position:relative}.mosaic-card[data-v-cfb36e45]:active{transform:scale(.97)}.card-tall[data-v-cfb36e45]{grid-row:span 2}.card-wide[data-v-cfb36e45]{grid-column:span 2}.card-highlight[data-v-cfb36e45]{background:linear-gradient(135deg,var(--accent) 0%,#d4886a 100%);border:none}.card-highlight .card-label[data-v-cfb36e45],.card-highlight .card-value[data-v-cfb36e45],.card-highlight .card-meta[data-v-cfb36e45]{color:#fff}.card-highlight .card-label[data-v-cfb36e45]{opacity:.85}.card-featured[data-v-cfb36e45]{overflow:hidden;position:relative;padding:0;min-height:160px;display:flex;flex-direction:column}.card-featured>.card-label[data-v-cfb36e45]{position:absolute;top:20px;left:20px;z-index:3;color:#fff}.featured-carousel-track[data-v-cfb36e45]{display:flex;transition:transform .3s ease-out;width:100%;height:100%}.featured-slide[data-v-cfb36e45]{flex:0 0 100%;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:40px 20px 20px;box-sizing:border-box;background-size:cover;background-position:center;position:relative}.featured-slide.has-image[data-v-cfb36e45]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d)}.featured-slide.has-image .featured-content[data-v-cfb36e45]{position:relative;z-index:1}.featured-slide.has-image .card-value[data-v-cfb36e45],.featured-slide.has-image .card-meta[data-v-cfb36e45],.featured-slide.has-image .card-label[data-v-cfb36e45]{color:#fff}.featured-content[data-v-cfb36e45]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:10px}.featured-slide.no-pagination .featured-content[data-v-cfb36e45]{padding-bottom:0}.featured-content .card-value[data-v-cfb36e45]{display:block;margin-bottom:8px}.featured-content .card-meta[data-v-cfb36e45]{display:block}.featured-default[data-v-cfb36e45]{background-image:url(/images/events-and-workshops.jpg);background-size:cover;background-position:center;padding:20px;position:relative;width:100%;flex:1;box-sizing:border-box;display:flex;flex-direction:column}.featured-default[data-v-cfb36e45]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d);border-radius:16px}.featured-default .card-label[data-v-cfb36e45],.featured-default .card-value[data-v-cfb36e45],.featured-default .card-meta[data-v-cfb36e45]{position:relative;z-index:1;color:#fff}.featured-dots[data-v-cfb36e45]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.featured-dots .dot[data-v-cfb36e45]{width:6px;height:6px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .2s ease}.featured-dots .dot.active[data-v-cfb36e45]{background:#fff;width:18px;border-radius:3px}.card-messages[data-v-cfb36e45]{background:linear-gradient(145deg,#6b7c5e,#8a9e7a);border:none}.card-messages .card-label[data-v-cfb36e45],.card-messages .card-value[data-v-cfb36e45],.card-messages .card-meta[data-v-cfb36e45],.card-messages .card-empty[data-v-cfb36e45]{color:#fff}.card-messages .card-label[data-v-cfb36e45]{position:absolute;top:20px;left:20px;z-index:3;opacity:.85}.messages-empty[data-v-cfb36e45]{position:absolute;inset:0;background-image:url(/images/community-team.png);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;border-radius:16px}.messages-empty[data-v-cfb36e45]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0000004d,#0003);border-radius:16px}.messages-empty .card-value[data-v-cfb36e45]{position:relative;z-index:1;color:#fff}.card-community[data-v-cfb36e45]{background:linear-gradient(145deg,#d4a574,#e8c9a8);border:none}.card-community .card-label[data-v-cfb36e45],.card-community .card-value[data-v-cfb36e45],.card-community .card-meta[data-v-cfb36e45],.card-community .card-preview[data-v-cfb36e45],.card-community .card-empty[data-v-cfb36e45]{color:#3d3025}.card-community .card-label[data-v-cfb36e45],.card-community .card-empty[data-v-cfb36e45]{opacity:.7}.avatar-stack[data-v-cfb36e45]{display:flex;align-items:center;margin:8px 0 4px}.avatar-circle[data-v-cfb36e45]{width:36px;height:36px;border-radius:50%;border:2px solid #e8c9a8;background:#d4a574;display:flex;align-items:center;justify-content:center;margin-right:-10px;overflow:hidden}.avatar-circle img[data-v-cfb36e45]{width:100%;height:100%;object-fit:cover}.avatar-initials[data-v-cfb36e45]{font-size:.75rem;font-weight:600;color:#3d3025}.avatar-more[data-v-cfb36e45]{margin-left:14px;font-size:.8rem;font-weight:600;color:#3d3025;opacity:.8}.card-label[data-v-cfb36e45]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:8px}.card-value[data-v-cfb36e45]{font-size:1.1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.card-preview[data-v-cfb36e45]{font-size:.95rem;color:var(--text-primary);line-height:1.5}.card-meta[data-v-cfb36e45]{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.card-meta.stale[data-v-cfb36e45]{opacity:.7;font-style:italic}.card-empty[data-v-cfb36e45]{font-size:.95rem;color:var(--text-secondary);font-style:italic}.tree-progress[data-v-cfb36e45]{margin:0 16px 24px;padding:20px 24px;background-image:url(/images/classes-background.jpg);background-size:cover;background-position:center;border-radius:16px;box-shadow:0 8px 24px #00000026;position:relative}.tree-progress[data-v-cfb36e45]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d);border-radius:16px}.tree-progress[data-v-cfb36e45]>*{position:relative;z-index:1}.progress-header[data-v-cfb36e45]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tree-icon[data-v-cfb36e45]{font-size:1.5rem}.progress-title[data-v-cfb36e45]{font-family:var(--font-display);font-size:1.3rem;font-weight:300;color:#fff}.progress-bar[data-v-cfb36e45]{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill[data-v-cfb36e45]{height:100%;background:#fff;border-radius:4px;transition:width .5s ease}.progress-message[data-v-cfb36e45]{font-size:.9rem;color:#ffffffe6;margin:0}.progress-last[data-v-cfb36e45]{font-size:.8rem;color:#ffffffb3;margin:6px 0 0}.card-upcoming[data-v-cfb36e45]{justify-content:space-between;overflow:hidden;position:relative;padding:0}.card-upcoming .card-label[data-v-cfb36e45]{position:absolute;top:20px;left:20px;z-index:3;color:#fff}.carousel-track[data-v-cfb36e45]{display:flex;width:100%;height:100%;transition:transform .3s ease-out;position:absolute;inset:0}.carousel-slide[data-v-cfb36e45]{flex:0 0 100%;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:40px 20px 20px;box-sizing:border-box;background-size:cover;background-position:center;position:relative}.carousel-slide.has-image[data-v-cfb36e45]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d)}.carousel-slide.has-image .upcoming-content[data-v-cfb36e45]{position:relative;z-index:1}.carousel-slide.has-image .card-value[data-v-cfb36e45],.carousel-slide.has-image .card-meta[data-v-cfb36e45]{color:#fff}.card-upcoming .upcoming-content[data-v-cfb36e45]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:10px}.carousel-slide.no-pagination .upcoming-content[data-v-cfb36e45]{padding-bottom:0}.card-upcoming .card-value[data-v-cfb36e45]{display:block;margin-bottom:8px}.card-upcoming .card-meta[data-v-cfb36e45]{display:block;font-size:.75rem}.upcoming-empty[data-v-cfb36e45]{position:absolute;inset:0;background-image:url(/images/classes-background.jpg);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:20px}.upcoming-empty[data-v-cfb36e45]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d)}.upcoming-empty .card-value[data-v-cfb36e45],.upcoming-empty .card-meta[data-v-cfb36e45]{position:relative;z-index:1;color:#fff}.upcoming-empty .card-value[data-v-cfb36e45]{font-size:1.2rem;margin-bottom:4px}.upcoming-empty .card-meta[data-v-cfb36e45]{opacity:.85}.upcoming-empty .card-label[data-v-cfb36e45]{position:absolute;top:20px;left:20px;z-index:2}.swiper-dots[data-v-cfb36e45]{display:flex;justify-content:center;gap:6px;position:absolute;bottom:16px;left:0;right:0;z-index:3}.dot[data-v-cfb36e45]{width:6px;height:6px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .2s ease}.dot.active[data-v-cfb36e45]{background:var(--accent);width:18px;border-radius:3px}.card-upcoming .dot[data-v-cfb36e45]{background:#ffffff80}.card-upcoming .dot.active[data-v-cfb36e45]{background:#fff}.is-loading[data-v-cfb36e45]{pointer-events:none}.skeleton-content[data-v-cfb36e45]{padding:20px;width:100%}.skeleton[data-v-cfb36e45]{background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:shimmer-cfb36e45 1.5s infinite;border-radius:4px}.skeleton-label[data-v-cfb36e45]{width:60px;height:12px;margin-bottom:12px}.skeleton-title[data-v-cfb36e45]{width:70%;height:20px;margin-bottom:8px}.skeleton-preview[data-v-cfb36e45]{width:90%;height:16px;margin-bottom:8px}.skeleton-meta[data-v-cfb36e45]{width:50%;height:14px;margin-bottom:6px}.skeleton-progress-bar[data-v-cfb36e45]{width:100%;height:8px;margin-bottom:10px}@keyframes shimmer-cfb36e45{0%{background-position:200% 0}to{background-position:-200% 0}}.card-featured.is-loading[data-v-cfb36e45]{background:linear-gradient(135deg,var(--accent) 0%,#d4886a 100%)}.card-upcoming.is-loading[data-v-cfb36e45]{background:var(--bg-secondary)}.card-community.is-loading[data-v-cfb36e45]{background:linear-gradient(145deg,#d4a574,#e8c9a8)}.tree-progress.is-loading .skeleton[data-v-cfb36e45]{background:linear-gradient(90deg,#fff3 25%,#ffffff4d,#fff3 75%);background-size:200% 100%;animation:shimmer-cfb36e45 1.5s infinite}.mosaic-card.card-recommendations[data-v-cfb36e45]{flex-direction:row;justify-content:space-between;align-items:center;padding:14px 20px;background:linear-gradient(135deg,var(--accent),#8a9e7a);border:none}.mosaic-card.card-recommendations[data-v-cfb36e45]:active{opacity:.9}.card-recommendations .recommended-content[data-v-cfb36e45]{display:flex;align-items:center;gap:10px}.card-recommendations .recommended-icon[data-v-cfb36e45]{font-size:1.1rem}.card-recommendations .recommended-text[data-v-cfb36e45]{font-size:.95rem;font-weight:500;color:#fff}.card-recommendations .recommended-arrow[data-v-cfb36e45]{font-size:1.4rem;color:#fffc}.app-banner[data-v-cfb36e45]{display:flex;align-items:center;gap:10px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.banner-close[data-v-cfb36e45]{background:none;border:none;padding:4px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;display:flex;align-items:center}.banner-icon[data-v-cfb36e45]{width:36px;height:36px;border-radius:8px;flex-shrink:0}.banner-text[data-v-cfb36e45]{flex:1;min-width:0;display:flex;flex-direction:column}.banner-title[data-v-cfb36e45]{font-size:.85rem;font-weight:600;color:var(--text-primary)}.banner-subtitle[data-v-cfb36e45]{font-size:.7rem;color:var(--text-secondary)}.banner-btn[data-v-cfb36e45]{background:var(--accent);color:#fff;border:none;border-radius:16px;padding:6px 16px;font-size:.8rem;font-weight:600;cursor:pointer;flex-shrink:0}.service-tabs[data-v-c061a66c]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.tabs-header[data-v-c061a66c]{display:flex;gap:0;padding:0;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);background:var(--bg-primary);scrollbar-width:none;-ms-overflow-style:none;position:relative;z-index:10}.tabs-header[data-v-c061a66c]::-webkit-scrollbar{display:none}.tab-btn[data-v-c061a66c]{flex:1;padding:1rem .625rem .875rem;background:transparent;border:none;font-weight:600;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;position:relative}.tab-btn span[data-v-c061a66c]{position:relative;display:inline-block}.tab-btn span[data-v-c061a66c]:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .2s}.tab-btn[data-v-c061a66c]:first-child{padding-left:1rem}.tab-btn[data-v-c061a66c]:last-child{padding-right:1rem}.tab-btn.active[data-v-c061a66c]{color:var(--accent)}.tab-btn.active span[data-v-c061a66c]:after{width:100%}.tab-content[data-v-c061a66c]{padding:0;flex:1;min-height:0;overflow:hidden}.class-calendar[data-v-06c71b49]{background:var(--bg-primary);padding:.5rem 0;border-bottom:1px solid var(--border)}.calendar-scroll[data-v-06c71b49]{display:flex;gap:.25rem;overflow-x:auto;padding:0 1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.calendar-scroll[data-v-06c71b49]::-webkit-scrollbar{display:none}.calendar-day[data-v-06c71b49]{flex-shrink:0;text-align:center;padding:.375rem .5rem;border-radius:10px;transition:all .2s;cursor:pointer;scroll-snap-align:center;min-width:40px}.calendar-day.is-today[data-v-06c71b49]{color:var(--accent);font-weight:700}.calendar-day.is-selected[data-v-06c71b49],.calendar-day.is-today.is-selected[data-v-06c71b49]{background:var(--accent);color:#fff}.day-label[data-v-06c71b49]{font-size:.5625rem;font-weight:600;margin-bottom:.0625rem;color:inherit;opacity:.7;text-transform:uppercase}.calendar-day.is-today .day-label[data-v-06c71b49],.calendar-day.is-selected .day-label[data-v-06c71b49]{opacity:1}.day-number[data-v-06c71b49]{font-size:.875rem;font-weight:600;color:inherit}.class-card[data-v-5f02016b]{display:flex!important;flex-direction:column!important;background:var(--bg-secondary)!important;border-radius:12px!important;border:1px solid var(--border)!important;transition:all .2s}.class-card.clickable[data-v-5f02016b]{cursor:pointer}.class-card.clickable[data-v-5f02016b]:active{transform:scale(.99)}.class-card.cancelled[data-v-5f02016b]{opacity:.6}.class-card.past[data-v-5f02016b]{opacity:.5}.class-image-container[data-v-5f02016b]{position:relative;width:100%;height:160px;flex-shrink:0;border-radius:12px 12px 0 0;overflow:hidden}.class-image[data-v-5f02016b],.class-image-placeholder[data-v-5f02016b]{width:100%;height:100%}.class-image img[data-v-5f02016b]{width:100%;height:100%;object-fit:cover;display:block}.class-image-placeholder[data-v-5f02016b]{background:var(--accent);display:flex;align-items:center;justify-content:center}.class-image-placeholder svg[data-v-5f02016b]{width:48px;height:48px;color:#fff}.favorite-btn[data-v-5f02016b]{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px #00000026}.favorite-btn[data-v-5f02016b]:disabled{opacity:.5;cursor:not-allowed}.favorite-btn svg[data-v-5f02016b]{width:20px;height:20px;color:var(--text-secondary);transition:all .2s}.favorite-btn.is-favorited svg[data-v-5f02016b]{color:#ef4444}.class-info[data-v-5f02016b]{padding:1rem!important;display:flex!important;flex-direction:column!important;gap:.5rem}.class-header[data-v-5f02016b]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.class-header h3[data-v-5f02016b]{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.class-badge[data-v-5f02016b]{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.class-badge.cancelled[data-v-5f02016b]{background:#fee2e2;color:#991b1b}.class-badge.full[data-v-5f02016b],.class-badge.low-spots[data-v-5f02016b]{background:#fef3c7;color:#92400e}.class-badge.booked[data-v-5f02016b]{background:#dcfce7;color:#166534}.class-details-grid[data-v-5f02016b]{display:flex;flex-direction:column;gap:.375rem}.class-detail-row[data-v-5f02016b]{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-secondary)}.class-detail-row svg[data-v-5f02016b]{width:14px;height:14px;flex-shrink:0;color:var(--accent)}.no-sessions-message[data-v-5f02016b]{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.875rem;color:var(--text-secondary)}.no-sessions-message svg[data-v-5f02016b]{width:16px;height:16px;flex-shrink:0;opacity:.6}.class-action-btn[data-v-5f02016b]{margin-top:.5rem;width:100%;padding:.75rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.class-action-btn[data-v-5f02016b]:disabled{background:var(--text-secondary);cursor:not-allowed;opacity:.6}.class-action-btn.booked[data-v-5f02016b]{background:#6b7c5e}.booking-dates[data-v-5f02016b]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.date-btn[data-v-5f02016b]{padding:.5rem .75rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.more-dates[data-v-5f02016b]{font-size:.75rem;color:var(--text-secondary);padding:.5rem}.class-card-skeleton[data-v-53ed8f8e]{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border);overflow:hidden}.skeleton-image[data-v-53ed8f8e]{width:100%;height:160px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-primary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer-53ed8f8e 1.5s infinite}.skeleton-content[data-v-53ed8f8e]{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.skeleton-header[data-v-53ed8f8e]{display:flex;justify-content:space-between;align-items:center}.skeleton-title[data-v-53ed8f8e]{height:1.25rem;width:60%;background:linear-gradient(90deg,var(--border) 25%,var(--bg-primary) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer-53ed8f8e 1.5s infinite;border-radius:4px}.skeleton-badge[data-v-53ed8f8e]{height:1.25rem;width:4rem;background:linear-gradient(90deg,var(--border) 25%,var(--bg-primary) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer-53ed8f8e 1.5s infinite;border-radius:12px}.skeleton-details[data-v-53ed8f8e]{display:flex;flex-direction:column;gap:.5rem}.skeleton-row[data-v-53ed8f8e]{height:.875rem;width:80%;background:linear-gradient(90deg,var(--border) 25%,var(--bg-primary) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer-53ed8f8e 1.5s infinite;border-radius:4px}.skeleton-row.short[data-v-53ed8f8e]{width:50%}.skeleton-button[data-v-53ed8f8e]{height:2.75rem;width:100%;background:linear-gradient(90deg,var(--border) 25%,var(--bg-primary) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer-53ed8f8e 1.5s infinite;border-radius:8px;margin-top:.25rem}@keyframes shimmer-53ed8f8e{0%{background-position:200% 0}to{background-position:-200% 0}}.location-filter[data-v-4bb5597f]{position:relative}.location-pill[data-v-4bb5597f]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:20px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000026;white-space:nowrap}.location-pill svg[data-v-4bb5597f]{width:16px;height:16px}.drawer-overlay[data-v-4bb5597f]{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.drawer-content[data-v-4bb5597f]{width:100%;max-width:500px;max-height:80vh;background:var(--bg-primary);border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}.drawer-header[data-v-4bb5597f]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.drawer-header h3[data-v-4bb5597f]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.close-btn[data-v-4bb5597f]{background:none;border:none;color:var(--accent);font-size:.875rem;font-weight:600;cursor:pointer}.locations-list[data-v-4bb5597f]{flex:1;overflow-y:auto;padding:.5rem}.location-item[data-v-4bb5597f]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .875rem;margin-bottom:.375rem;background:var(--bg-secondary);border:none;border-radius:8px;font-size:.8125rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.location-item.selected[data-v-4bb5597f]{background:var(--accent);color:#fff}.location-item svg[data-v-4bb5597f]{width:16px;height:16px}.drawer-footer[data-v-4bb5597f]{display:flex;gap:.75rem;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.clear-btn[data-v-4bb5597f]{flex:1;padding:.625rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s}.continue-btn[data-v-4bb5597f]{flex:2;padding:.625rem;background:var(--accent);border:none;border-radius:8px;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.drawer-enter-active[data-v-4bb5597f],.drawer-leave-active[data-v-4bb5597f]{transition:opacity .3s ease}.drawer-enter-active .drawer-content[data-v-4bb5597f],.drawer-leave-active .drawer-content[data-v-4bb5597f]{transition:transform .3s ease}.drawer-enter-from[data-v-4bb5597f],.drawer-leave-to[data-v-4bb5597f]{opacity:0}.drawer-enter-from .drawer-content[data-v-4bb5597f],.drawer-leave-to .drawer-content[data-v-4bb5597f]{transform:translateY(100%)}.month-filter[data-v-1bce6491]{background:var(--bg-primary);padding:.5rem 0;border-bottom:1px solid var(--border)}.month-scroll[data-v-1bce6491]{display:flex;gap:.375rem;align-items:center;overflow-x:auto;padding:0 1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.month-scroll[data-v-1bce6491]::-webkit-scrollbar{display:none}.year-label[data-v-1bce6491]{flex-shrink:0;font-size:.6875rem;font-weight:600;color:var(--text-secondary);opacity:.5;padding:0 .25rem}.month-btn[data-v-1bce6491]{flex-shrink:0;padding:.375rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;font-weight:600;font-size:.6875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;scroll-snap-align:center}.month-btn.active[data-v-1bce6491]{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent)}.yoga-fitness-tab[data-v-84cef843]{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.sub-nav[data-v-84cef843]{display:flex;gap:.375rem;padding:.75rem 1rem;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--bg-primary);border-bottom:1px solid var(--border)}.sub-nav-btn[data-v-84cef843]{padding:.375rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;font-weight:600;font-size:.6875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.sub-nav-btn.active[data-v-84cef843]{background:var(--accent);color:#fff;border-color:transparent}.count-badge[data-v-84cef843]{background:#fff3;padding:.0625rem .3rem;border-radius:6px;font-size:.625rem}.sub-nav-btn.active .count-badge[data-v-84cef843]{background:#ffffff4d}.sub-nav-btn.favorites-btn svg[data-v-84cef843]{width:14px;height:14px;color:#ef4444}.sub-nav-btn.favorites-btn.active svg[data-v-84cef843]{color:#fff}.empty-state[data-v-84cef843]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;text-align:center}.empty-state svg[data-v-84cef843]{width:64px;height:64px;color:var(--border)}.empty-state h3[data-v-84cef843]{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.empty-state p[data-v-84cef843]{margin:0;color:var(--text-secondary);font-size:.875rem}.empty-state-cta[data-v-84cef843]{margin-top:.5rem;padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.next-session-hint[data-v-84cef843]{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem}.next-session-hint p[data-v-84cef843]{margin:0;color:var(--text-secondary);font-size:.875rem}.jump-btn[data-v-84cef843]{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.classes-list[data-v-84cef843]{display:flex;flex-direction:column;gap:1rem;padding:1rem 1rem 5rem;overflow-y:auto;flex:1;min-height:0}.location-filter-container[data-v-84cef843]{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:100}.book-more-cta[data-v-84cef843]{width:100%;padding:.875rem;background:var(--bg-secondary);border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.webview-modal[data-v-ac8dbd0f]{position:fixed;inset:0;z-index:1000;background:var(--bg-primary);display:flex;flex-direction:column}.webview-header[data-v-ac8dbd0f]{display:flex;align-items:center;padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top));background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:.75rem}.back-btn[data-v-ac8dbd0f]{flex:1;display:flex;align-items:center;gap:.5rem;padding:0;background:none;border:none;color:var(--accent);cursor:pointer;font-size:1rem;font-weight:500;text-align:left}.back-btn svg[data-v-ac8dbd0f]{width:20px;height:20px;flex-shrink:0}.external-link[data-v-ac8dbd0f]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.external-link svg[data-v-ac8dbd0f]{width:18px;height:18px}.webview-iframe[data-v-ac8dbd0f]{flex:1;width:100%;border:none;background:#fff}.cliniko-service[data-v-ac8dbd0f]{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:2rem}.hero-image[data-v-ac8dbd0f]{width:100%;height:260px;overflow:hidden}.hero-image img[data-v-ac8dbd0f]{width:100%;height:100%;object-fit:cover}.service-content[data-v-ac8dbd0f]{max-width:500px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.service-title[data-v-ac8dbd0f]{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:var(--text-primary)}.service-description[data-v-ac8dbd0f]{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1.5rem}.pricing-section[data-v-ac8dbd0f]{width:100%;text-align:left;margin-bottom:1.5rem}.pricing-section h3[data-v-ac8dbd0f]{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 .75rem}.pricing-list[data-v-ac8dbd0f]{list-style:none;padding:0;margin:0;background:var(--bg-secondary);border-radius:12px;overflow:hidden}.pricing-list li[data-v-ac8dbd0f]{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:1px solid var(--border)}.pricing-list li[data-v-ac8dbd0f]:last-child{border-bottom:none}.price-name[data-v-ac8dbd0f]{font-size:.9rem;color:var(--text-primary)}.price-details[data-v-ac8dbd0f]{display:flex;align-items:center;gap:.5rem}.price-amount[data-v-ac8dbd0f]{font-weight:600;color:var(--text-primary)}.price-duration[data-v-ac8dbd0f]{font-size:.8rem;color:var(--text-tertiary)}.book-button[data-v-ac8dbd0f]{width:100%;padding:1rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s;margin-bottom:1.5rem}.book-button[data-v-ac8dbd0f]:active{opacity:.8}.contact-info[data-v-ac8dbd0f]{width:100%;text-align:center}.contact-link[data-v-ac8dbd0f]{display:block;margin:.5rem 0;font-size:.875rem;color:var(--text-secondary);text-decoration:none;transition:color .2s}.contact-info .icon[data-v-ac8dbd0f]{margin-right:.25rem}.services-screen[data-v-8b8f4127]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100dvh;height:var(--viewport-height, 100dvh);overflow-x:hidden;overflow-y:auto}.services-view[data-v-8b8f4127]{width:100%;height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.tab-panel[data-v-8b8f4127]{height:100%;overflow:hidden}.ondemand-panel[data-v-8b8f4127]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.coming-soon[data-v-8b8f4127]{text-align:center;max-width:300px}.coming-soon-icon[data-v-8b8f4127]{font-size:3rem;margin-bottom:1rem}.coming-soon h2[data-v-8b8f4127]{font-family:var(--font-display);font-size:1.5rem;font-weight:300;margin-bottom:.75rem;color:var(--text-primary)}.coming-soon p[data-v-8b8f4127]{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.coming-soon-note[data-v-8b8f4127]{font-size:.8rem;color:var(--text-tertiary)}.coming-soon-note a[data-v-8b8f4127]{color:var(--accent);text-decoration:none}.header-actions[data-v-8b8f4127]{display:flex;gap:8px;align-items:center}.header-action-btn[data-v-8b8f4127]{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.header-action-btn svg[data-v-8b8f4127]{flex-shrink:0}.header-action-btn .count-badge[data-v-8b8f4127]{font-size:12px;font-weight:600}.header-action-btn.booked-btn[data-v-8b8f4127]{color:var(--accent)}.header-action-btn.booked-btn.active[data-v-8b8f4127]{background:var(--accent);border-color:var(--accent);color:#fff}.header-action-btn.favorites-btn[data-v-8b8f4127]{color:#e53935}.header-action-btn.favorites-btn.active[data-v-8b8f4127]{background:#e53935;border-color:#e53935;color:#fff}.header-action-btn.empty[data-v-8b8f4127]{color:var(--text-tertiary);opacity:.6}.header-action-btn.empty.active[data-v-8b8f4127]{opacity:1}.drawer-overlay[data-v-3eed2381]{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:9999}.drawer-sheet[data-v-3eed2381]{position:relative;background:var(--bg-primary);border-radius:20px 20px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding:12px 20px 40px;box-shadow:0 -10px 40px #0003}.drawer-handle[data-v-3eed2381]{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 16px}.close-button[data-v-3eed2381]{position:absolute;top:16px;right:16px;background:var(--bg-secondary);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.close-button svg[data-v-3eed2381]{width:18px;height:18px;color:var(--text-secondary)}.drawer-content[data-v-3eed2381]{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:8px;min-height:150px}.loading-spinner[data-v-3eed2381]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-3eed2381 .8s linear infinite;margin:50px 0}@keyframes spin-3eed2381{to{transform:rotate(360deg)}}.instructor-avatar[data-v-3eed2381]{width:120px;height:120px;border-radius:50%;overflow:hidden;margin-bottom:16px;background:var(--bg-secondary);flex-shrink:0}.instructor-avatar img[data-v-3eed2381]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-3eed2381]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.avatar-placeholder svg[data-v-3eed2381]{width:48px;height:48px;color:var(--text-secondary)}.instructor-name[data-v-3eed2381]{margin:0 0 16px;font-size:1.4rem;font-weight:700;color:var(--text-primary)}.instructor-bio[data-v-3eed2381]{width:100%;text-align:left}.instructor-bio p[data-v-3eed2381]{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.6;white-space:pre-line}.drawer-enter-active[data-v-3eed2381]{transition:opacity .3s ease}.drawer-leave-active[data-v-3eed2381]{transition:opacity .2s ease}.drawer-enter-from[data-v-3eed2381],.drawer-leave-to[data-v-3eed2381]{opacity:0}.drawer-enter-active .drawer-sheet[data-v-3eed2381]{animation:drawer-slide-up-3eed2381 .3s ease-out}.drawer-leave-active .drawer-sheet[data-v-3eed2381]{animation:drawer-slide-down-3eed2381 .2s ease-in}@keyframes drawer-slide-up-3eed2381{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes drawer-slide-down-3eed2381{0%{transform:translateY(0)}to{transform:translateY(100%)}}.guest-pass-section[data-v-5eb01ea2]{background:var(--bg-secondary);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.section-header[data-v-5eb01ea2]{display:flex;align-items:center;justify-content:space-between}.header-left[data-v-5eb01ea2]{display:flex;align-items:center;gap:8px}.ticket-icon[data-v-5eb01ea2]{width:20px;height:20px;color:var(--accent)}.section-title[data-v-5eb01ea2]{font-weight:600;color:var(--text-primary)}.pass-count[data-v-5eb01ea2]{font-size:.85rem;color:var(--text-secondary)}.guests-list[data-v-5eb01ea2]{display:flex;flex-direction:column;gap:8px}.guest-item[data-v-5eb01ea2]{display:flex;align-items:center;gap:12px;background:var(--bg-primary);padding:12px;border-radius:8px;border:1px solid var(--border)}.guest-item.has-error[data-v-5eb01ea2]{border-color:var(--error, #dc3545);background:#dc35450d}.guest-avatar[data-v-5eb01ea2]{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.guest-info[data-v-5eb01ea2]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.guest-name[data-v-5eb01ea2]{font-weight:500;color:var(--text-primary)}.guest-email[data-v-5eb01ea2]{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-error[data-v-5eb01ea2]{font-size:.8rem;color:var(--error, #dc3545)}.remove-guest[data-v-5eb01ea2]{background:none;border:none;padding:8px;cursor:pointer;color:var(--text-secondary);border-radius:50%;transition:all .2s}.remove-guest svg[data-v-5eb01ea2]{width:16px;height:16px;display:block}.add-guest-button[data-v-5eb01ea2]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:none;border:2px dashed var(--border);border-radius:8px;color:var(--accent);font-weight:500;cursor:pointer;transition:all .2s}.add-guest-button svg[data-v-5eb01ea2]{width:18px;height:18px}.no-passes[data-v-5eb01ea2]{text-align:center;padding:12px;color:var(--text-secondary);font-size:.9rem}.toggle-row[data-v-5eb01ea2]{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid var(--border)}.toggle-label[data-v-5eb01ea2]{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-label input[type=checkbox][data-v-5eb01ea2]{width:18px;height:18px;accent-color:var(--accent)}.toggle-text[data-v-5eb01ea2]{font-weight:500;color:var(--text-primary)}.toggle-hint[data-v-5eb01ea2]{font-size:.8rem;color:var(--text-secondary);padding-left:26px}.info-banner[data-v-5eb01ea2]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:rgba(var(--accent-rgb),.1);border-radius:8px;font-size:.85rem;color:var(--text-secondary)}.info-banner svg[data-v-5eb01ea2]{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--accent)}.modal-backdrop[data-v-cd0ed2d3]{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.modal-content[data-v-cd0ed2d3]{background:var(--bg-primary);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp-cd0ed2d3 .3s ease}@keyframes slideUp-cd0ed2d3{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-cd0ed2d3]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-cd0ed2d3]{font-size:1.1rem;font-weight:600;margin:0;color:var(--text-primary)}.close-button[data-v-cd0ed2d3]{background:none;border:none;padding:8px;cursor:pointer;color:var(--text-secondary);border-radius:50%;transition:all .2s}.close-button svg[data-v-cd0ed2d3]{width:20px;height:20px;display:block}.modal-body[data-v-cd0ed2d3]{padding:20px;display:flex;flex-direction:column;gap:16px}.form-group[data-v-cd0ed2d3]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-cd0ed2d3]{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.form-group input[data-v-cd0ed2d3]{padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:1rem;color:var(--text-primary);background:var(--bg-primary);transition:border-color .2s}.form-group input[data-v-cd0ed2d3]:focus{outline:none;border-color:var(--accent)}.form-group input[data-v-cd0ed2d3]::placeholder{color:var(--text-tertiary, #999)}.error-message[data-v-cd0ed2d3]{padding:10px 12px;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:8px;color:var(--error, #dc3545);font-size:.9rem}.form-actions[data-v-cd0ed2d3]{display:flex;gap:12px;padding-top:8px;padding-bottom:env(safe-area-inset-bottom)}.cancel-button[data-v-cd0ed2d3],.submit-button[data-v-cd0ed2d3]{flex:1;padding:14px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-button[data-v-cd0ed2d3]{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.submit-button[data-v-cd0ed2d3]{background:var(--accent);border:none;color:#fff}.submit-button[data-v-cd0ed2d3]:disabled{opacity:.6;cursor:not-allowed}@media(min-width:600px){.modal-backdrop[data-v-cd0ed2d3]{align-items:center;padding:20px}.modal-content[data-v-cd0ed2d3]{border-radius:16px}}.screen[data-v-b7db3991]{display:block!important;align-items:unset!important;justify-content:unset!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100vh}.booking-container[data-v-b7db3991]{height:100vh;display:flex;flex-direction:column;padding:0}.booking-body[data-v-b7db3991]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding-bottom:180px}.hero-image[data-v-b7db3991]{position:relative;width:100%;height:200px;overflow:hidden;flex-shrink:0}.hero-image img[data-v-b7db3991]{width:100%;height:100%;object-fit:cover}.hero-overlay[data-v-b7db3991]{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(0,0,0,.4),transparent)}.centered-state[data-v-b7db3991]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:32px 16px}.centered-state svg[data-v-b7db3991]{width:48px;height:48px;color:var(--text-secondary)}.centered-state h2[data-v-b7db3991]{margin:0;font-size:1.3rem;font-weight:700;color:var(--text-primary)}.centered-state p[data-v-b7db3991]{margin:0;color:var(--text-secondary);font-size:.95rem}.error-message[data-v-b7db3991]{color:#ef4444}.success-icon[data-v-b7db3991]{color:#22c55e!important;width:64px!important;height:64px!important}.success-icon.waitlist[data-v-b7db3991]{color:var(--accent)!important}.spinner[data-v-b7db3991]{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-b7db3991 .8s linear infinite}@keyframes spin-b7db3991{to{transform:rotate(360deg)}}.details-section[data-v-b7db3991]{padding:0 16px}.class-name-row[data-v-b7db3991]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.class-name[data-v-b7db3991]{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-primary);flex:1}.booked-badge[data-v-b7db3991]{padding:6px 14px;border-radius:16px;background:#dcfce7;color:#166534;font-size:.85rem;font-weight:600;white-space:nowrap}.description-container[data-v-b7db3991]{margin-bottom:16px}.class-description[data-v-b7db3991]{margin:0 0 8px;font-size:.9rem;color:var(--text-secondary);line-height:1.4;word-wrap:break-word;max-height:1000px;overflow:hidden;transition:max-height .4s ease-out,opacity .3s ease;opacity:1}.class-description.truncated[data-v-b7db3991]{max-height:5.6em;transition:max-height .4s ease-in}.read-more-button[data-v-b7db3991]{background:none;border:none;color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:opacity .2s}.detail-row[data-v-b7db3991]{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem}.detail-row[data-v-b7db3991]:last-child{margin-bottom:0}.detail-row.instructor-row[data-v-b7db3991]{cursor:pointer}.instructor-link[data-v-b7db3991]{color:var(--accent)}.info-icon[data-v-b7db3991]{color:var(--text-secondary);margin-left:4px;flex-shrink:0}.price-row .price-value[data-v-b7db3991]{font-weight:700;color:var(--accent);font-size:1rem}.detail-row svg[data-v-b7db3991]{width:16px;height:16px;flex-shrink:0;color:var(--accent)}.attendance-section[data-v-b7db3991]{padding:0 16px}.attendance-options[data-v-b7db3991]{display:flex;flex-direction:row;gap:10px}.attendance-option[data-v-b7db3991]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;text-align:center}.attendance-option.selected[data-v-b7db3991]{border-color:var(--accent);border-width:2px;background:#b85c381f;box-shadow:0 2px 8px #b85c3840}.attendance-option>svg[data-v-b7db3991]:first-child{width:20px;height:20px;color:var(--accent);flex-shrink:0}.option-info[data-v-b7db3991]{display:flex;flex-direction:column;align-items:center;gap:2px}.option-label[data-v-b7db3991]{font-weight:600;font-size:.8rem;color:var(--text-primary)}.option-detail[data-v-b7db3991]{font-size:.7rem;color:var(--text-secondary)}.memberships-section[data-v-b7db3991]{padding:0 16px}.section-title[data-v-b7db3991]{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.memberships-list[data-v-b7db3991]{display:flex;flex-direction:column;gap:8px}.membership-card[data-v-b7db3991]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.membership-card.selected[data-v-b7db3991]{border-color:var(--accent);border-width:2px;background:#b85c381f;box-shadow:0 2px 8px #b85c3840}.membership-card.disabled[data-v-b7db3991]{opacity:.5;cursor:not-allowed}.membership-info[data-v-b7db3991]{flex:1}.membership-name[data-v-b7db3991]{font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:2px}.membership-usage[data-v-b7db3991],.incompatibility-text[data-v-b7db3991]{font-size:.75rem;color:var(--text-secondary)}.check-icon[data-v-b7db3991]{width:18px;height:18px;color:var(--accent);flex-shrink:0}.no-memberships[data-v-b7db3991]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 16px;gap:12px}.no-memberships svg[data-v-b7db3991]{width:48px;height:48px;color:var(--text-secondary)}.no-memberships h3[data-v-b7db3991]{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.no-memberships p[data-v-b7db3991]{margin:0;color:var(--text-secondary);font-size:.9rem}.external-booking-link[data-v-b7db3991]{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:10px;font-weight:600;font-size:.9rem;transition:opacity .2s}.primary-button[data-v-b7db3991]{width:100%;padding:14px 20px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .2s}.primary-button[data-v-b7db3991]:disabled{opacity:.5;cursor:not-allowed}.secondary-button[data-v-b7db3991]{padding:10px 20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;font-weight:600;font-size:.9rem;transition:background .2s}.button-wrapper[data-v-b7db3991]{padding:0 16px;flex-shrink:0}.waitlist-info[data-v-b7db3991],.full-notice[data-v-b7db3991]{text-align:center;margin-bottom:12px}.waitlist-info p[data-v-b7db3991],.full-notice p[data-v-b7db3991]{margin:8px 0 0;font-size:.85rem;color:var(--text-secondary)}.full-badge[data-v-b7db3991]{display:inline-block;padding:4px 12px;background:#fef3c7;color:#92400e;font-size:.8rem;font-weight:600;border-radius:12px}.waitlist-btn[data-v-b7db3991]{background:var(--accent)}.calendar-section[data-v-b7db3991]{padding:0 16px}.calendar-button[data-v-b7db3991]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.calendar-button[data-v-b7db3991]:active{transform:scale(.98)}.calendar-button svg[data-v-b7db3991]{width:18px;height:18px;color:var(--accent)}.stream-section[data-v-b7db3991]{padding:0 16px}.stream-card[data-v-b7db3991]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:12px}.stream-info[data-v-b7db3991]{display:flex;align-items:center;gap:10px}.stream-info>svg[data-v-b7db3991]{width:24px;height:24px;color:var(--accent);flex-shrink:0}.stream-details[data-v-b7db3991]{display:flex;flex-direction:column;gap:4px}.stream-label[data-v-b7db3991]{font-size:.85rem;color:var(--text-secondary)}.stream-link[data-v-b7db3991]{color:var(--accent);font-weight:600;text-decoration:none;font-size:.95rem}.stream-password[data-v-b7db3991]{margin-left:auto;display:flex;align-items:center;gap:6px}.password-label[data-v-b7db3991]{font-size:.85rem;color:var(--text-secondary)}.password-value[data-v-b7db3991]{background:var(--bg-primary);padding:4px 8px;border-radius:4px;font-family:monospace;font-size:.9rem;color:var(--text-primary)}.cancel-section[data-v-b7db3991]{padding:16px;margin-top:32px;border-top:1px solid var(--border)}.cancel-section .section-title[data-v-b7db3991]{font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.cancel-policy[data-v-b7db3991]{font-size:.8rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.cancel-policy strong[data-v-b7db3991]{color:var(--text-secondary);font-weight:500}.late-warning[data-v-b7db3991]{background:#fef3cd;border-radius:6px;padding:10px 12px;margin-bottom:12px;display:flex;align-items:flex-start;gap:6px;font-size:.8rem;color:#856404;line-height:1.4}.warning-icon[data-v-b7db3991]{flex-shrink:0}.cancel-button[data-v-b7db3991]{background:transparent;color:#dc3545;border:1px solid #dc3545;border-radius:6px;padding:8px 16px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button[data-v-b7db3991]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-b7db3991]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-b7db3991]{background:var(--bg-primary);border-radius:12px;padding:20px;max-width:300px;width:100%;text-align:center}.modal-content h3[data-v-b7db3991]{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.modal-content p[data-v-b7db3991]{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.modal-content .late-warning[data-v-b7db3991]{background:#fef3cd;border-radius:6px;padding:8px 10px;margin-bottom:16px;font-size:.8rem;color:#856404;text-align:left}.modal-actions[data-v-b7db3991]{display:flex;gap:10px}.modal-btn[data-v-b7db3991]{flex:1;padding:10px 14px;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.modal-btn-secondary[data-v-b7db3991]{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.modal-btn-danger[data-v-b7db3991]{background:#b54248;border:none;color:#fff}.guest-pass-wrapper[data-v-b7db3991]{padding:0 16px}.community-post[data-v-4aaeeb26]{padding:16px;margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-primary);box-shadow:0 1px 3px var(--shadow)}.post-header[data-v-4aaeeb26]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.author-info[data-v-4aaeeb26]{display:flex;gap:12px;align-items:center}.author-avatar[data-v-4aaeeb26]{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;border:2px solid var(--border);box-shadow:0 2px 4px var(--shadow)}.author-details[data-v-4aaeeb26]{display:flex;flex-direction:column;gap:2px}.author-name[data-v-4aaeeb26]{font-weight:600;font-size:.95rem;color:var(--text-primary)}.post-time[data-v-4aaeeb26]{font-size:.8rem;color:var(--text-secondary)}.delete-button[data-v-4aaeeb26]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:background .2s}.delete-button[data-v-4aaeeb26]:active{background:var(--bg-secondary);color:var(--error)}.post-content[data-v-4aaeeb26]{font-size:.95rem;line-height:1.5;color:var(--text-primary);margin-bottom:12px;white-space:pre-wrap;word-wrap:break-word}.hashtag[data-v-4aaeeb26]{color:var(--accent);font-weight:600}.post-link[data-v-4aaeeb26]{color:var(--accent);text-decoration:none;font-weight:500}.post-link[data-v-4aaeeb26]:active{text-decoration:underline}.post-categories[data-v-4aaeeb26]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.category-tag[data-v-4aaeeb26]{padding:4px 10px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:500}.post-actions[data-v-4aaeeb26]{display:flex;gap:16px;padding-top:8px}.action-button[data-v-4aaeeb26]{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.9rem;padding:6px 12px;border-radius:8px}.action-button[data-v-4aaeeb26]:active{background:var(--bg-secondary)}.action-button.liked[data-v-4aaeeb26]{color:#f44}.post-images-carousel[data-v-4aaeeb26]{position:relative;margin-bottom:12px;border-radius:12px;overflow:hidden}.carousel-track[data-v-4aaeeb26]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.carousel-track[data-v-4aaeeb26]::-webkit-scrollbar{display:none}.carousel-slide[data-v-4aaeeb26]{flex:0 0 100%;scroll-snap-align:start}.carousel-slide img[data-v-4aaeeb26]{width:100%;aspect-ratio:1;object-fit:cover;display:block}.carousel-dots[data-v-4aaeeb26]{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px}.dot[data-v-4aaeeb26]{width:6px;height:6px;border-radius:50%;background:#ffffff80;transition:all .2s}.dot.active[data-v-4aaeeb26]{background:#fff}.image-viewer[data-v-4aaeeb26]{position:fixed;inset:0;z-index:9999;background:#000000f2;display:flex;align-items:center;justify-content:center}.viewer-close[data-v-4aaeeb26]{position:absolute;top:env(safe-area-inset-top,16px);right:16px;padding:12px;background:none;border:none;color:#fff;z-index:10}.viewer-carousel[data-v-4aaeeb26]{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}.viewer-track[data-v-4aaeeb26]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.viewer-track[data-v-4aaeeb26]::-webkit-scrollbar{display:none}.viewer-slide[data-v-4aaeeb26]{flex:0 0 100%;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;padding:60px 0}.viewer-slide img[data-v-4aaeeb26]{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain}.viewer-dots[data-v-4aaeeb26]{display:flex;justify-content:center;gap:6px;padding:16px 0}.viewer-dot[data-v-4aaeeb26]{width:6px;height:6px;border-radius:50%;background:#ffffff80}.viewer-dot.active[data-v-4aaeeb26]{background:#fff}.community-screen[data-v-fdfdb3b7]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100dvh;height:var(--viewport-height, 100dvh);overflow-x:hidden;overflow-y:auto}.community-container[data-v-fdfdb3b7]{width:100%;height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.category-filters[data-v-fdfdb3b7]{display:flex;gap:0;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);background:var(--bg-primary);scrollbar-width:none;-ms-overflow-style:none;position:sticky;top:0;z-index:10}.category-filters[data-v-fdfdb3b7]::-webkit-scrollbar{display:none}.category-button[data-v-fdfdb3b7]{padding:1rem .625rem .875rem;background:transparent;border:none;font-weight:600;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;position:relative}.category-button span[data-v-fdfdb3b7]{position:relative;display:inline-block}.category-button span[data-v-fdfdb3b7]:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .2s}.category-button[data-v-fdfdb3b7]:first-child{padding-left:1rem}.category-button[data-v-fdfdb3b7]:last-child{padding-right:1rem}.category-button.active[data-v-fdfdb3b7]{color:var(--accent)}.category-button.active span[data-v-fdfdb3b7]:after{width:100%}.posts-feed[data-v-fdfdb3b7]{flex:1;overflow-y:auto;min-height:0;padding:12px}.posts-list[data-v-fdfdb3b7]{display:flex;flex-direction:column}.loading-more[data-v-fdfdb3b7]{padding:20px;text-align:center;color:var(--text-secondary);font-size:.9rem}.end-of-feed[data-v-fdfdb3b7]{padding:20px;text-align:center;color:var(--text-secondary);font-size:.9rem;opacity:.7}.header-action[data-v-fdfdb3b7]{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.header-action[data-v-fdfdb3b7]:active{transform:scale(.95)}.empty-state[data-v-fdfdb3b7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary);height:100%;min-height:400px}.empty-subtitle[data-v-fdfdb3b7]{font-size:.9rem;margin-top:4px;opacity:.7}.screen[data-v-6844c9d0]{display:block!important;align-items:unset!important;justify-content:unset!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100vh}.compose-container[data-v-6844c9d0]{height:100vh;display:flex;flex-direction:column;padding:0}.post-button-header[data-v-6844c9d0]{background:var(--accent);color:var(--bg-primary);border:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:opacity .2s}.post-button-header[data-v-6844c9d0]:disabled{opacity:.5;cursor:not-allowed}.post-button-header[data-v-6844c9d0]:not(:disabled):active{opacity:.8}.compose-body[data-v-6844c9d0]{flex:1;padding:20px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;max-width:100%}.compose-textarea[data-v-6844c9d0]{width:100%;min-height:120px;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:.95rem;resize:vertical}.compose-textarea[data-v-6844c9d0]:focus{outline:none;border-color:var(--accent)}.category-selector[data-v-6844c9d0]{display:flex;flex-direction:column;gap:12px}.selector-label[data-v-6844c9d0]{font-size:.9rem;font-weight:600;color:var(--text-primary)}.category-options[data-v-6844c9d0]{display:flex;flex-wrap:wrap;gap:8px}.category-option[data-v-6844c9d0]{display:flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid var(--border);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.category-option[data-v-6844c9d0]:active{border-color:var(--accent)}.category-option.selected[data-v-6844c9d0]{border-color:var(--accent);background:var(--accent);color:var(--bg-primary)}.image-section[data-v-6844c9d0]{display:flex;flex-direction:column;gap:12px}.add-image-button[data-v-6844c9d0]{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s}.add-image-button[data-v-6844c9d0]:active{border-color:var(--accent);color:var(--accent)}.image-count[data-v-6844c9d0]{color:var(--text-muted);font-size:.85rem}.image-previews[data-v-6844c9d0]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.image-preview[data-v-6844c9d0]{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden}.image-preview img[data-v-6844c9d0]{width:100%;height:100%;object-fit:cover}.remove-image[data-v-6844c9d0]{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:none;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.remove-image[data-v-6844c9d0]:active{background:#000c}.screen[data-v-243dffbf]{display:block!important;align-items:unset!important;justify-content:unset!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100vh}.post-detail-container[data-v-243dffbf]{height:100vh;display:flex;flex-direction:column;padding:0}.post-detail-content[data-v-243dffbf]{flex:1;overflow-y:auto;padding-bottom:80px}.loading-state[data-v-243dffbf],.error-state[data-v-243dffbf]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center}.retry-button[data-v-243dffbf]{margin-top:16px;padding:8px 16px;background:var(--accent);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer}.main-post[data-v-243dffbf]{margin:12px}.comments-section[data-v-243dffbf]{margin:0 12px 12px}.comments-header[data-v-243dffbf]{display:flex;align-items:center;gap:8px;padding:16px 0 12px;border-bottom:1px solid var(--border);margin-bottom:16px}.comments-header h3[data-v-243dffbf]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.comment-count[data-v-243dffbf]{background:var(--bg-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.loading-comments[data-v-243dffbf]{text-align:center;color:var(--text-secondary);padding:20px}.no-comments[data-v-243dffbf]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:var(--text-secondary);text-align:center}.comment-item[data-v-243dffbf],.reply-item[data-v-243dffbf]{margin-bottom:16px;padding:12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.reply-item[data-v-243dffbf]{margin-left:20px;margin-top:12px;background:var(--bg-secondary)}.comment-header[data-v-243dffbf],.reply-header[data-v-243dffbf]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comment-author[data-v-243dffbf],.reply-author[data-v-243dffbf]{display:flex;align-items:center;gap:8px}.comment-avatar[data-v-243dffbf],.reply-avatar[data-v-243dffbf]{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.reply-avatar[data-v-243dffbf]{width:28px;height:28px;font-size:.6rem}.comment-author-info[data-v-243dffbf],.reply-author-info[data-v-243dffbf]{display:flex;flex-direction:column;gap:2px}.comment-author-name[data-v-243dffbf],.reply-author-name[data-v-243dffbf]{font-weight:600;font-size:.85rem;color:var(--text-primary)}.comment-time[data-v-243dffbf],.reply-time[data-v-243dffbf]{font-size:.75rem;color:var(--text-secondary)}.comment-content[data-v-243dffbf],.reply-content[data-v-243dffbf]{font-size:.9rem;line-height:1.4;color:var(--text-primary);margin-bottom:8px}.comment-actions[data-v-243dffbf],.reply-actions[data-v-243dffbf]{display:flex;gap:12px}.comment-action[data-v-243dffbf],.reply-action[data-v-243dffbf]{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s;min-height:32px;touch-action:manipulation;-webkit-user-select:none;user-select:none}.comment-action[data-v-243dffbf]:active,.reply-action[data-v-243dffbf]:active{background:var(--bg-secondary)!important;transform:scale(.98)}.comment-action[data-v-243dffbf]:active,.reply-action[data-v-243dffbf]:active{background:var(--bg-secondary)}.comment-action.liked[data-v-243dffbf],.reply-action.liked[data-v-243dffbf]{color:#f44!important}.replies[data-v-243dffbf]{margin-top:12px}.comment-input-container[data-v-243dffbf]{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.comment-input-wrapper[data-v-243dffbf]{display:flex;align-items:center;gap:8px}.comment-input[data-v-243dffbf]{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:24px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem}.comment-input[data-v-243dffbf]:focus{outline:none;border-color:var(--accent)}.send-button[data-v-243dffbf]{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--bg-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.send-button[data-v-243dffbf]:active{opacity:.8}body.keyboard-open{padding-bottom:12px}@supports (height: 100dvh){.post-detail-container[data-v-243dffbf]{height:100dvh}}body.keyboard-open{height:calc(var(--viewport-height, 100vh) - 140px)}.content-link[data-v-243dffbf]{color:var(--accent);text-decoration:none;font-weight:500}.content-link[data-v-243dffbf]:active{text-decoration:underline}.hashtag[data-v-243dffbf]{color:var(--accent);font-weight:600}.conversation-list[data-v-5dbdeab8]{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.list-header[data-v-5dbdeab8]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--bg-primary);border-bottom:1px solid var(--border)}.list-header h2[data-v-5dbdeab8]{font-family:var(--font-display);font-size:20px;font-weight:300;margin:0;color:var(--text-primary)}.new-message-button[data-v-5dbdeab8]{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.new-message-button svg[data-v-5dbdeab8]{width:20px;height:20px}.conversations-container[data-v-5dbdeab8]{flex:1;overflow-y:auto}.loading-text[data-v-5dbdeab8]{padding:2rem;text-align:center;color:var(--text-secondary)}.empty-state[data-v-5dbdeab8],.empty-text[data-v-5dbdeab8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary);text-align:center}.empty-state p[data-v-5dbdeab8]:first-child{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.empty-state p[data-v-5dbdeab8]:last-child{font-size:.9rem}.conversations[data-v-5dbdeab8]{display:flex;flex-direction:column}.conversation-item[data-v-5dbdeab8]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:none;border:none;text-align:left;-webkit-tap-highlight-color:transparent;position:relative}.conversation-item[data-v-5dbdeab8]:not(:last-child):after{content:"";position:absolute;bottom:0;left:4.5rem;right:1rem;height:1px;background:var(--border);opacity:.5}.conversation-avatar[data-v-5dbdeab8]{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;flex-shrink:0;overflow:hidden}.conversation-avatar.group-avatar[data-v-5dbdeab8]{background:transparent;overflow:visible}.stacked-avatars[data-v-5dbdeab8]{position:relative;width:48px;height:48px}.stacked-avatar[data-v-5dbdeab8]{position:absolute;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;overflow:hidden;border:2px solid var(--bg-primary)}.stacked-avatar[data-v-5dbdeab8]:first-child{top:0;left:0}.stacked-avatar[data-v-5dbdeab8]:nth-child(2){bottom:0;right:0}.stacked-avatar .avatar-image[data-v-5dbdeab8]{width:100%;height:100%;object-fit:cover}.stacked-avatar .avatar-initial[data-v-5dbdeab8]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.avatar-image[data-v-5dbdeab8]{width:100%;height:100%;object-fit:cover}.avatar-initial[data-v-5dbdeab8]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.conversation-content[data-v-5dbdeab8]{flex:1;min-width:0}.conversation-header[data-v-5dbdeab8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.conversation-name[data-v-5dbdeab8]{font-weight:600;font-size:.95rem;color:var(--text-primary)}.conversation-time[data-v-5dbdeab8]{font-size:.75rem;color:var(--text-secondary)}.conversation-preview[data-v-5dbdeab8]{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge[data-v-5dbdeab8]{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.message-bubble[data-v-e324d9e3]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;animation:fadeIn-e324d9e3 .2s ease-in}@keyframes fadeIn-e324d9e3{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble.own-message[data-v-e324d9e3]{justify-content:flex-end}.message-content-wrapper[data-v-e324d9e3]{position:relative;max-width:70%}.message-bubble:has(.group-avatar-slot) .message-content-wrapper[data-v-e324d9e3]{max-width:65%}.message-content[data-v-e324d9e3]{border-radius:1rem;background:var(--bg-secondary);border:1px solid var(--border);overflow:hidden}.message-content[data-v-e324d9e3]{padding:.5rem .75rem}.message-content[data-v-e324d9e3]:has(.message-image){padding:0}.message-content[data-v-e324d9e3]:has(.message-image.image-only){background:transparent;border:none}.own-message .message-content[data-v-e324d9e3]:has(.message-image.image-only){background:transparent}.own-message .message-content[data-v-e324d9e3]{background:var(--accent);color:#fff;border:none}.message-image[data-v-e324d9e3]{cursor:pointer;margin:0}.message-image[data-v-e324d9e3]{position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.message-image img[data-v-e324d9e3]{width:100%;min-height:150px;max-height:300px;display:block;object-fit:cover;border-radius:1rem 1rem 0 0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:var(--bg-secondary)}.message-image.image-only img[data-v-e324d9e3]{border-radius:1rem}.image-overlay-time[data-v-e324d9e3]{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);z-index:2}.message-image.image-only[data-v-e324d9e3]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,#0006);border-radius:0 0 1rem 1rem;pointer-events:none}.image-overlay-time .message-status[data-v-e324d9e3]{display:inline-flex;align-items:center}.image-overlay-time .star-icon[data-v-e324d9e3]{margin-right:.15rem}.message-image.uploading[data-v-e324d9e3]{min-height:150px;display:flex;align-items:center;justify-content:center;background:#0000001a;border-radius:1rem 1rem 0 0}.own-message .message-image.uploading[data-v-e324d9e3]{background:#0003}.image-upload-spinner[data-v-e324d9e3]{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem}.own-message .image-upload-spinner[data-v-e324d9e3]{color:#fffc}.image-upload-spinner .spinner[data-v-e324d9e3]{width:24px;height:24px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-e324d9e3 .8s linear infinite}@keyframes spin-e324d9e3{to{transform:rotate(360deg)}}.message-text[data-v-e324d9e3]{font-size:.95rem;line-height:1.4;word-wrap:break-word;white-space:pre-wrap;padding:.5rem .75rem;padding-bottom:0}.message-content:not(:has(.message-image)) .message-text[data-v-e324d9e3]{padding:0}.own-message .message-text[data-v-e324d9e3]{color:#fff}.message-time[data-v-e324d9e3]{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem;padding:0 .75rem .5rem;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.message-content:not(:has(.message-image)) .message-time[data-v-e324d9e3]{padding:0}.own-message .message-time[data-v-e324d9e3]{color:#ffffffb3}.edited-indicator[data-v-e324d9e3]{font-size:inherit;color:inherit;opacity:.8;margin-right:.25rem}.message-status[data-v-e324d9e3]{display:inline-flex;align-items:center}.message-status.status-default[data-v-e324d9e3]{color:#ffffff80}.message-status.status-read[data-v-e324d9e3]{color:#ffffffe6}.star-icon[data-v-e324d9e3]{margin-right:.15rem;flex-shrink:0;vertical-align:middle;display:inline-block}.double-tick[data-v-e324d9e3]{position:relative}.reply-preview[data-v-e324d9e3]{display:flex;gap:.5rem;margin:.5rem .75rem;padding:.5rem;border-radius:.5rem;background:#0000001a}.message-content:not(:has(.message-image)) .reply-preview[data-v-e324d9e3]{margin:0 0 .5rem}.own-message .reply-preview[data-v-e324d9e3]{background:#0003}.reply-line[data-v-e324d9e3]{width:3px;background:var(--accent);border-radius:2px;flex-shrink:0}.reply-content[data-v-e324d9e3]{flex:1;min-width:0}.reply-sender[data-v-e324d9e3]{font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:.125rem}.own-message .reply-sender[data-v-e324d9e3]{color:#ffffffe6}.reply-text[data-v-e324d9e3]{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.own-message .reply-text[data-v-e324d9e3]{color:#ffffffb3}.group-avatar-slot[data-v-e324d9e3]{width:28px;flex-shrink:0;align-self:flex-end;margin-bottom:.25rem}.group-avatar[data-v-e324d9e3]{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;overflow:hidden}.group-avatar-img[data-v-e324d9e3]{width:100%;height:100%;object-fit:cover}.group-avatar-initial[data-v-e324d9e3]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.sender-name[data-v-e324d9e3]{font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:.125rem;padding-left:.25rem}.message-actions[data-v-e324d9e3]{display:flex;flex-direction:row;gap:.25rem;opacity:.6;transition:opacity .2s ease;align-items:flex-start;flex-shrink:0}.action-button[data-v-e324d9e3]{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:.4rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;width:28px;height:28px}.reactions-container[data-v-e324d9e3]{position:absolute;bottom:-8px;left:8px;display:flex;flex-wrap:wrap;gap:.25rem;max-width:calc(100% - 16px)}.reaction-chip[data-v-e324d9e3]{display:flex;align-items:center;gap:.2rem;padding:.1rem .4rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:.75rem;font-size:.75rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.reaction-chip.own-reaction[data-v-e324d9e3]{background:var(--accent);border-color:var(--accent);color:#fff}.own-message .reaction-chip[data-v-e324d9e3]{background:#ffffffe6;border-color:#fff;color:var(--text-primary)}.own-message .reaction-chip.own-reaction[data-v-e324d9e3]{background:#fff;border-color:#fff;font-weight:600}.reaction-emoji[data-v-e324d9e3]{font-size:.85rem;line-height:1}.reaction-count[data-v-e324d9e3]{font-size:.65rem;font-weight:600;line-height:1}.deleted-message .deleted-content[data-v-e324d9e3],.deleted-message.own-message .deleted-content[data-v-e324d9e3]{background:transparent;border:1px dashed var(--border);padding:.35rem .6rem}.deleted-text[data-v-e324d9e3]{font-size:.85rem;font-style:italic;color:var(--text-secondary);opacity:.7}.deleted-message.own-message .deleted-text[data-v-e324d9e3]{color:var(--text-secondary);opacity:.7}.message-input-wrapper[data-v-04fd915c]{flex-shrink:0;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--bg-secondary);transition:bottom .3s ease}.reply-preview-bar[data-v-04fd915c]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.reply-preview-content[data-v-04fd915c]{flex:1;min-width:0}.reply-preview-header[data-v-04fd915c]{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.reply-icon[data-v-04fd915c]{font-size:.9rem}.edit-icon[data-v-04fd915c]{color:var(--accent)}.reply-label[data-v-04fd915c]{font-size:.85rem;font-weight:600;color:var(--accent)}.reply-preview-text[data-v-04fd915c]{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cancel-reply-button[data-v-04fd915c]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s ease;flex-shrink:0}.message-input-container[data-v-04fd915c]{display:flex;gap:.5rem;padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));padding-left:calc(.75rem + env(safe-area-inset-left));padding-right:calc(.75rem + env(safe-area-inset-right));border-top:1px solid var(--border);box-shadow:0 -2px 8px var(--shadow);align-items:center}body.keyboard-open .message-input-container[data-v-04fd915c]{padding-bottom:.75rem}.message-input[data-v-04fd915c]{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:1.5rem;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.95rem;resize:none;outline:none;min-height:36px;max-height:120px;line-height:1.4}.message-input[data-v-04fd915c]:focus{border-color:var(--accent)}.message-input[data-v-04fd915c]::placeholder{color:var(--text-secondary)}.send-button[data-v-04fd915c]{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.send-button[data-v-04fd915c]:disabled{opacity:.5;cursor:not-allowed}.image-button[data-v-04fd915c]{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.image-button[data-v-04fd915c]:active{background:var(--bg-secondary);color:var(--accent)}.image-preview-bar[data-v-04fd915c]{padding:.75rem;padding-bottom:0;border-top:1px solid var(--border);background:var(--bg-secondary)}.image-preview-wrapper[data-v-04fd915c]{position:relative;display:inline-block}.image-preview[data-v-04fd915c]{max-width:120px;max-height:120px;border-radius:8px;object-fit:cover}.remove-image-button[data-v-04fd915c]{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:none;background:var(--error);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.processing-overlay{position:fixed;inset:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;z-index:9999;color:#fff;font-size:.9rem}.processing-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.emoji-picker-overlay[data-v-b254123b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-b254123b .2s ease}@keyframes fadeIn-b254123b{0%{opacity:0}to{opacity:1}}.emoji-picker[data-v-b254123b]{background:var(--bg-secondary);border-radius:1rem;padding:1.5rem;max-width:400px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 30px var(--shadow);animation:slideUp-b254123b .3s ease}@keyframes slideUp-b254123b{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.emoji-picker-header[data-v-b254123b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.emoji-picker-header h3[data-v-b254123b]{font-size:1.1rem;font-weight:600;margin:0}.close-button[data-v-b254123b]{background:none;border:none;color:var(--text-secondary);padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;-webkit-tap-highlight-color:transparent}.close-button svg[data-v-b254123b]{width:20px;height:20px}.emoji-section[data-v-b254123b]{margin-bottom:1rem}.emoji-section[data-v-b254123b]:last-child{margin-bottom:0;flex:1;min-height:0;display:flex;flex-direction:column}.section-title[data-v-b254123b]{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:.75rem;letter-spacing:.5px}.emoji-grid-scroll[data-v-b254123b]{overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.emoji-grid[data-v-b254123b]{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.emoji-grid.recent-grid[data-v-b254123b]{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.emoji-button[data-v-b254123b]{background:var(--bg-primary);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;font-size:1.5rem;display:flex;-webkit-tap-highlight-color:transparent;align-items:center;justify-content:center;min-height:48px}.emoji-button.selected[data-v-b254123b]{background:var(--accent);border-color:var(--accent)}.emoji-button[data-v-b254123b]:active{transform:scale(.95)}.message-focus-backdrop[data-v-8b291cf6]{position:fixed;inset:0;width:100vw;height:100vh;background:#0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:500;animation:blurFadeIn-8b291cf6 .1s linear;will-change:backdrop-filter;cursor:pointer;touch-action:manipulation}@keyframes blurFadeIn-8b291cf6{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.emoji-bar[data-v-9c05836a]{position:fixed;z-index:600;animation:slideUpFadeIn-9c05836a .2s ease-out}.emoji-bar-scroll[data-v-9c05836a]{display:flex;gap:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:24px;padding:6px 10px;box-shadow:0 4px 16px var(--shadow);overflow-x:auto;overflow-y:hidden;max-width:90vw;-webkit-overflow-scrolling:touch;scrollbar-width:none}.emoji-bar-scroll[data-v-9c05836a]::-webkit-scrollbar{display:none}.emoji-button[data-v-9c05836a]{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:24px;background:none;border:none;border-radius:12px;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.emoji-button[data-v-9c05836a]:active{transform:scale(.95)}.emoji-plus[data-v-9c05836a]{color:var(--text-secondary)}@keyframes slideUpFadeIn-9c05836a{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.context-menu[data-v-8a41c663]{position:fixed;z-index:600;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:4px;box-shadow:0 4px 16px var(--shadow);min-width:160px;animation:dropdownFadeIn-8a41c663 .15s ease-out}.context-menu-item[data-v-8a41c663]{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:none;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);text-align:left;-webkit-tap-highlight-color:transparent}.context-menu-item[data-v-8a41c663]:active:not(.disabled){transform:scale(.98)}.context-menu-item.disabled[data-v-8a41c663]{opacity:.5;cursor:not-allowed}.context-menu-item svg[data-v-8a41c663]{flex-shrink:0;color:var(--accent)}.context-menu-item.disabled svg[data-v-8a41c663]{color:var(--text-secondary)}@keyframes dropdownFadeIn-8a41c663{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop[data-v-4acf54ab]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content[data-v-4acf54ab]{background:var(--bg-primary);border-radius:16px;width:100%;max-width:400px;box-shadow:0 8px 32px var(--shadow);overflow:hidden}.modal-header[data-v-4acf54ab]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--border)}.modal-header h3[data-v-4acf54ab]{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.close-button[data-v-4acf54ab]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s ease}.info-list[data-v-4acf54ab]{padding:1rem 1.25rem 1.25rem}.info-item[data-v-4acf54ab]{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--border)}.info-item[data-v-4acf54ab]:last-child{border-bottom:none}.info-label[data-v-4acf54ab]{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.info-value[data-v-4acf54ab]{font-size:.875rem;color:var(--text-primary);text-align:right;max-width:60%;word-break:break-word}.modal-enter-active[data-v-4acf54ab],.modal-leave-active[data-v-4acf54ab]{transition:opacity .2s ease}.modal-enter-active .modal-content[data-v-4acf54ab],.modal-leave-active .modal-content[data-v-4acf54ab]{transition:transform .2s ease}.modal-enter-from[data-v-4acf54ab],.modal-leave-to[data-v-4acf54ab]{opacity:0}.modal-enter-from .modal-content[data-v-4acf54ab],.modal-leave-to .modal-content[data-v-4acf54ab]{transform:scale(.95)}.chat-window[data-v-bd52acf7]{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);position:absolute;inset:0;overflow:hidden;transition:margin-top .3s ease}.messages-container[data-v-bd52acf7]{flex:1;overflow-y:auto;padding:1rem;padding-bottom:calc(80px + env(safe-area-inset-bottom));min-height:0}.loading-state[data-v-bd52acf7],.empty-state[data-v-bd52acf7]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center}.empty-state p[data-v-bd52acf7]:first-child{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.empty-state p[data-v-bd52acf7]:last-child{font-size:.9rem}.messages-list[data-v-bd52acf7]{display:flex;flex-direction:column}.date-separator[data-v-bd52acf7]{display:flex;justify-content:center;margin:1rem 0}.date-separator span[data-v-bd52acf7]{background:var(--bg-secondary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500;border:1px solid var(--border)}.message-wrapper-focused[data-v-bd52acf7]{z-index:600!important}.message-wrapper-focused[data-v-bd52acf7] .message-image img{max-height:200px}.message-ghost-placeholder[data-v-bd52acf7]{visibility:hidden;pointer-events:none}.image-viewer[data-v-bd52acf7]{position:fixed;inset:0;z-index:9999;background:#000000f2;display:flex;align-items:center;justify-content:center;padding:20px}.image-viewer img[data-v-bd52acf7]{max-width:100%;max-height:100%;object-fit:contain}.viewer-close[data-v-bd52acf7]{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));padding:8px;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;z-index:10}.viewer-caption[data-v-bd52acf7]{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000c);color:#fff;font-size:1rem;line-height:1.4}.header-action[data-v-bd52acf7]{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.group-info-overlay[data-v-bd52acf7]{position:fixed;inset:0;z-index:9999;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem}.group-info-modal[data-v-bd52acf7]{background:var(--bg-primary);border-radius:1rem;width:100%;max-width:400px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.group-info-header[data-v-bd52acf7]{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}.group-info-header h3[data-v-bd52acf7]{margin:0;font-size:1.1rem;font-weight:600}.close-button[data-v-bd52acf7]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.group-name-section[data-v-bd52acf7]{padding:1rem;border-bottom:1px solid var(--border)}.group-name-section label[data-v-bd52acf7]{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.group-name-edit[data-v-bd52acf7]{display:flex;gap:.5rem}.group-name-edit input[data-v-bd52acf7]{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.5rem;font-size:1rem;background:var(--bg-secondary);color:var(--text-primary)}.group-name-edit button[data-v-bd52acf7]{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer}.members-section[data-v-bd52acf7]{flex:1;overflow-y:auto;padding:1rem}.members-header[data-v-bd52acf7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-weight:600;color:var(--text-secondary);font-size:.9rem}.add-member-btn[data-v-bd52acf7]{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-size:.8rem;cursor:pointer}.members-list[data-v-bd52acf7]{display:flex;flex-direction:column;gap:.5rem}.member-item[data-v-bd52acf7]{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem}.member-avatar[data-v-bd52acf7]{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;overflow:hidden}.member-avatar .avatar-image[data-v-bd52acf7]{width:100%;height:100%;object-fit:cover}.member-info[data-v-bd52acf7]{flex:1;min-width:0}.member-name[data-v-bd52acf7]{font-weight:500;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.you-badge[data-v-bd52acf7],.creator-badge[data-v-bd52acf7]{font-size:.75rem;padding:.125rem .375rem;border-radius:.25rem;font-weight:500}.you-badge[data-v-bd52acf7]{background:var(--bg-secondary);color:var(--text-secondary)}.creator-badge[data-v-bd52acf7]{background:var(--accent);color:#fff}.remove-member-btn[data-v-bd52acf7]{width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.add-member-modal .search-section[data-v-bd52acf7]{padding:1rem}.add-member-modal input[data-v-bd52acf7]{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:1rem;background:var(--bg-secondary);color:var(--text-primary);margin-bottom:.5rem}.search-loading[data-v-bd52acf7],.no-results[data-v-bd52acf7]{padding:1rem;text-align:center;color:var(--text-secondary)}.search-results[data-v-bd52acf7]{max-height:300px;overflow-y:auto}.search-result-item[data-v-bd52acf7]{display:flex;align-items:center;gap:.75rem;padding:.75rem;width:100%;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left}.search-result-item[data-v-bd52acf7]:last-child{border-bottom:none}.header-action[data-v-2397fd76]{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.messages-screen[data-v-2397fd76]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;position:fixed;inset:0;width:100vw;height:var(--viewport-height, 100dvh);overflow:hidden}.messages-screen[data-v-2397fd76]:has(.conversation-list){padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))!important;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.messages-container[data-v-2397fd76]{padding:0;height:100%;max-width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.loading-container[data-v-2397fd76]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.screen[data-v-2b28c262]{display:block!important;align-items:unset!important;justify-content:unset!important;padding:0!important;position:fixed;inset:0;height:var(--viewport-height, 100dvh)}.search-container[data-v-2b28c262]{padding:0;height:100%;max-width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.search-header[data-v-2b28c262]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.search-header h2[data-v-2b28c262]{font-size:1.25rem;font-weight:600;margin:0}.back-button[data-v-2b28c262]{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:background .2s ease}.search-input-container[data-v-2b28c262]{padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.search-input[data-v-2b28c262]{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .2s ease}.search-input[data-v-2b28c262]:focus{border-color:var(--accent)}.results-container[data-v-2b28c262]{flex:1;overflow-y:auto;min-height:0;padding-bottom:80px}.empty-state[data-v-2b28c262],.loading-state[data-v-2b28c262]{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary);text-align:center}.user-list[data-v-2b28c262]{display:flex;flex-direction:column}.user-item[data-v-2b28c262]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s ease;text-align:left}.user-avatar[data-v-2b28c262]{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;flex-shrink:0}.user-info[data-v-2b28c262]{flex:1;min-width:0}.user-name[data-v-2b28c262]{font-weight:600;font-size:.95rem;color:var(--text-primary)}.user-email[data-v-2b28c262]{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-item.selected[data-v-2b28c262]{background:var(--bg-secondary)}.check-icon[data-v-2b28c262]{color:var(--accent);flex-shrink:0}.selected-users[data-v-2b28c262]{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.selected-chip[data-v-2b28c262]{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem .375rem .75rem;background:var(--accent);color:#fff;border-radius:1rem;font-size:.85rem;font-weight:500}.chip-remove[data-v-2b28c262]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:#fff3;color:#fff;border-radius:50%;cursor:pointer;padding:0}.create-group-bar[data-v-2b28c262]{position:fixed;bottom:calc(var(--nav-height, 60px) + env(safe-area-inset-bottom));left:0;right:0;padding:1rem;background:var(--bg-primary);border-top:1px solid var(--border);z-index:100}.create-group-btn[data-v-2b28c262]{width:100%;padding:.875rem;background:var(--accent);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.create-group-btn[data-v-2b28c262]:disabled{opacity:.6;cursor:not-allowed}.version-history-screen[data-v-9db4660e]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100dvh;height:var(--viewport-height, 100dvh);overflow:hidden}.version-history-content[data-v-9db4660e]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-9db4660e]{display:flex;align-items:center;gap:.5rem;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--bg-primary);flex-shrink:0;width:100%;border-bottom:1px solid var(--border)}.page-title[data-v-9db4660e]{flex:1;text-align:center;font-family:var(--font-display);font-size:20px;font-weight:300;margin:0;color:var(--text-primary)}.spacer[data-v-9db4660e]{width:32px;flex-shrink:0}.back-button[data-v-9db4660e]{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease;flex-shrink:0;width:32px;height:32px}.back-button svg[data-v-9db4660e]{width:24px;height:24px}.versions-list[data-v-9db4660e]{display:flex;flex-direction:column;gap:12px;padding:16px;overflow-y:auto;flex:1}.version-card[data-v-9db4660e]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px var(--shadow)}.version-header[data-v-9db4660e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem;flex-wrap:wrap}.version-card h2[data-v-9db4660e]{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.version-date[data-v-9db4660e]{font-size:.8rem;color:var(--text-secondary);font-weight:500}.version-description[data-v-9db4660e]{margin:0 0 .75rem;color:var(--text-primary);line-height:1.5}.version-highlights[data-v-9db4660e]{margin:0;padding-left:1.25rem;list-style-type:disc}.version-highlights li[data-v-9db4660e]{margin:.5rem 0;color:var(--text-secondary);line-height:1.5}.version-highlights li[data-v-9db4660e]:first-child{margin-top:0}.version-highlights li[data-v-9db4660e]:last-child{margin-bottom:0}.onboarding-screen[data-v-bc3b1493]{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;z-index:1000}.onboarding-header[data-v-bc3b1493]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top))}.back-btn[data-v-bc3b1493]{background:none;border:none;font-size:1.5rem;color:var(--text-primary);padding:8px;cursor:pointer;width:44px}.progress-dots[data-v-bc3b1493]{display:flex;gap:8px}.dot[data-v-bc3b1493]{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s ease}.dot.active[data-v-bc3b1493]{background:var(--accent)}.dot.current[data-v-bc3b1493]{width:24px;border-radius:4px}.skip-btn[data-v-bc3b1493]{background:none;border:none;color:var(--text-secondary);font-size:.9rem;padding:8px 12px;cursor:pointer;width:44px}.onboarding-content[data-v-bc3b1493]{flex:1;overflow:hidden}.slides-track[data-v-bc3b1493]{display:flex;height:100%;transition:transform .3s ease-out}.slide[data-v-bc3b1493]{flex:0 0 100%;width:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.slide-content[data-v-bc3b1493]{padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100%}.slide-content h1[data-v-bc3b1493]{font-family:var(--font-display);font-size:2rem;font-weight:300;color:var(--text-primary);margin:0 0 12px}.slide-content h2[data-v-bc3b1493]{font-family:var(--font-display);font-size:1.6rem;font-weight:300;color:var(--text-primary);margin:0 0 8px}.slide-content p[data-v-bc3b1493]{color:var(--text-secondary);margin:0 0 24px;font-size:1rem;line-height:1.5}.welcome-slide[data-v-bc3b1493]{justify-content:center}.welcome-icon[data-v-bc3b1493]{margin-bottom:24px}.logo-text[data-v-bc3b1493]{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:20px;background:var(--accent);color:#fff;font-family:var(--font-display);font-size:2rem;font-weight:300}.profile-slide[data-v-bc3b1493]{justify-content:flex-start;padding-top:16px}.profile-fields[data-v-bc3b1493]{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:400px}.bio-field[data-v-bc3b1493]{width:100%;display:flex;flex-direction:column;gap:6px}.bio-field label[data-v-bc3b1493]{font-size:.85rem;font-weight:500;color:var(--text-secondary);text-align:left}.bio-field textarea[data-v-bc3b1493]{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:.95rem;font-family:inherit;resize:none;background:var(--bg-secondary);color:var(--text-primary)}.bio-field textarea[data-v-bc3b1493]:focus{outline:none;border-color:var(--accent)}.bio-field .char-count[data-v-bc3b1493]{font-size:.7rem;color:var(--text-tertiary);text-align:right}.step-note[data-v-bc3b1493]{font-size:.8rem!important;color:var(--text-tertiary)!important;margin-top:auto!important}.photo-upload[data-v-bc3b1493]{width:120px;height:120px;border-radius:50%;background:var(--bg-secondary);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .2s;flex-shrink:0}.photo-preview[data-v-bc3b1493]{width:100%;height:100%;object-fit:cover}.photo-placeholder[data-v-bc3b1493]{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary)}.camera-icon[data-v-bc3b1493]{font-size:2rem;color:var(--accent)}.optional-text[data-v-bc3b1493]{font-size:.85rem;color:var(--text-tertiary)}.goals-grid[data-v-bc3b1493]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:400px}.goal-chip[data-v-bc3b1493]{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s}.goal-chip.selected[data-v-bc3b1493]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-secondary))}.goal-emoji[data-v-bc3b1493]{font-size:1.3rem}.goal-label[data-v-bc3b1493]{font-size:.9rem;color:var(--text-primary)}.preference-section[data-v-bc3b1493]{width:100%;max-width:400px;margin-bottom:24px;text-align:left}.preference-section label[data-v-bc3b1493]{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.option-row[data-v-bc3b1493]{display:flex;gap:8px;flex-wrap:wrap}.option-chip[data-v-bc3b1493]{padding:10px 16px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:20px;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.option-chip.selected[data-v-bc3b1493]{border-color:var(--accent);background:var(--accent);color:#fff}.done-slide[data-v-bc3b1493]{justify-content:flex-start;padding-top:40px;gap:16px}.done-slide h2[data-v-bc3b1493]{margin-bottom:0}.time-phrase[data-v-bc3b1493]{font-size:1.1rem!important;font-style:italic;color:var(--text-secondary)!important;line-height:1.6!important;max-width:320px;text-align:center;margin:0!important}.done-icon[data-v-bc3b1493]{width:72px;height:72px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:24px}.checkmark[data-v-bc3b1493]{font-size:2.5rem;color:#fff}.summary-card[data-v-bc3b1493]{margin-top:16px;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;width:100%;max-width:340px}.summary-label[data-v-bc3b1493]{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:12px}.goals-list[data-v-bc3b1493]{display:flex;flex-wrap:wrap;gap:8px}.goal-pill[data-v-bc3b1493]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;font-size:.85rem;color:var(--text-primary)}.experience-badge[data-v-bc3b1493]{margin-top:12px;padding:8px 16px;background:var(--accent);color:#fff;border-radius:20px;font-size:.85rem;font-weight:500}.goals-summary[data-v-bc3b1493]{margin-top:16px;text-align:center}.goals-phrase[data-v-bc3b1493]{font-size:.95rem!important;color:var(--text-secondary)!important;margin:0 0 12px!important;max-width:280px}.goals-emojis[data-v-bc3b1493]{font-size:1.8rem;letter-spacing:8px}.recommendations-teaser[data-v-bc3b1493]{margin-top:24px!important;font-size:.9rem!important;color:var(--text-tertiary)!important;max-width:280px}.onboarding-footer[data-v-bc3b1493]{padding:20px 24px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.next-btn[data-v-bc3b1493]{width:100%;padding:16px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,opacity .15s}.next-btn[data-v-bc3b1493]:active{transform:scale(.98)}.next-btn.is-final[data-v-bc3b1493]{background:linear-gradient(135deg,var(--accent) 0%,#d4886a 100%)}.next-btn[data-v-bc3b1493]:disabled{opacity:.6;cursor:not-allowed}.recommendations-screen[data-v-45cbd4f8]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;position:fixed;inset:0;width:100vw;height:100dvh;height:var(--viewport-height, 100dvh);overflow-x:hidden;overflow-y:auto}.recommendations-view[data-v-45cbd4f8]{width:100%;height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.recommendations-content[data-v-45cbd4f8]{flex:1;overflow-y:auto;padding:16px}.loading-state[data-v-45cbd4f8],.empty-state[data-v-45cbd4f8]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center}.loading-spinner[data-v-45cbd4f8]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-45cbd4f8 .8s linear infinite;margin-bottom:12px}@keyframes spin-45cbd4f8{to{transform:rotate(360deg)}}.loading-state p[data-v-45cbd4f8],.empty-state p[data-v-45cbd4f8]{margin:0;color:var(--text-secondary)}.empty-state .hint[data-v-45cbd4f8]{margin-top:8px;font-size:.85rem;color:var(--text-tertiary)}.cta-btn[data-v-45cbd4f8]{margin-top:16px;padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer}.recommendations-list[data-v-45cbd4f8]{display:flex;flex-direction:column;gap:16px}.recommendation-card[data-v-45cbd4f8]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.card-image[data-v-45cbd4f8]{height:140px;background-color:var(--accent);background-size:cover;background-position:center;position:relative}.card-image-overlay[data-v-45cbd4f8]{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(transparent,#000000b3)}.card-name[data-v-45cbd4f8]{color:#fff;font-size:1.2rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3)}.card-details[data-v-45cbd4f8]{padding:14px;display:flex;flex-direction:column;gap:8px}.detail-row[data-v-45cbd4f8]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.detail-row.primary[data-v-45cbd4f8]{justify-content:space-between;color:var(--text-primary);font-weight:500}.detail-row .icon[data-v-45cbd4f8]{width:16px;height:16px;flex-shrink:0}.duration[data-v-45cbd4f8]{font-size:.8rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:3px 10px;border-radius:10px}.description[data-v-45cbd4f8]{margin:4px 0 0;font-size:.85rem;color:var(--text-tertiary);line-height:1.5}.why-recommended[data-v-45cbd4f8]{margin-top:8px;padding:8px 12px;background:#a78b6f1a;border-radius:8px;font-size:.8rem;font-style:italic;color:var(--accent);text-align:center}.book-btn[data-v-45cbd4f8]{margin-top:12px;width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s}.book-btn[data-v-45cbd4f8]:active{opacity:.8}
