@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}button,.nav-item,.bottom-nav,.page-header,.btn-primary,.btn-secondary{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html{height:100dvh;overflow:hidden;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;height:100dvh;overscroll-behavior:contain;overflow:hidden;transition:background .3s ease,color .3s ease;background-color:#faf6f1}#app{min-height:100dvh;min-height:var(--viewport-height, 100dvh);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-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-secondary)}.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}@keyframes spin{to{transform:rotate(360deg)}}.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:.6rem .5rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom));padding-left:calc(.5rem + env(safe-area-inset-left));padding-right:calc(.5rem + env(safe-area-inset-right));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:hover{color:var(--accent)}.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}}.nav-item-content[data-v-c52e40b5]{position:relative;display:flex;align-items:center;justify-content:center}.unread-badge-nav[data-v-c52e40b5]{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-c52e40b5]{cursor:default;opacity:.3;pointer-events:none}.page-header[data-v-a841408c]{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-a841408c]{display:flex;align-items:center;gap:8px}.back-button[data-v-a841408c]{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}.back-button[data-v-a841408c]:hover{background:var(--bg-secondary)}.page-title[data-v-a841408c]{font-family:var(--font-display);font-size:20px;font-weight:300;margin:0;color:var(--text-primary)}.modal-overlay[data-v-7f3d5a4a]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-card[data-v-7f3d5a4a]{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-7f3d5a4a .3s ease-out;overflow:hidden}@keyframes modal-slide-up-7f3d5a4a{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-7f3d5a4a]{padding:24px 24px 16px;text-align:center}.modal-icon[data-v-7f3d5a4a]{font-size:3rem;display:block;margin-bottom:12px}.modal-header h2[data-v-7f3d5a4a]{margin:0;font-size:1.5rem;color:var(--text-color, #333)}.modal-body[data-v-7f3d5a4a]{padding:0 24px 24px}.version-info[data-v-7f3d5a4a]{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-7f3d5a4a]{display:flex;flex-direction:column;gap:4px;flex:1}.version-label[data-v-7f3d5a4a]{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.version-value[data-v-7f3d5a4a]{font-size:1.25rem;font-weight:600;color:#333}.version-new[data-v-7f3d5a4a]{color:#4caf50}.version-arrow[data-v-7f3d5a4a]{font-size:1.5rem;color:#999;flex-shrink:0}.update-message[data-v-7f3d5a4a]{text-align:center;color:var(--text-secondary, #666);font-size:.9rem;margin:0;line-height:1.5}.modal-footer[data-v-7f3d5a4a]{padding:16px 24px 24px;display:flex;gap:12px}.modal-footer button[data-v-7f3d5a4a]{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-7f3d5a4a]{background:var(--bg-secondary, #f0f0f0);color:var(--text-color, #333)}.btn-secondary[data-v-7f3d5a4a]:hover{background:var(--bg-secondary-hover, #e0e0e0)}.btn-primary[data-v-7f3d5a4a]{background:#4caf50;color:#fff}.btn-primary[data-v-7f3d5a4a]:hover{background:#45a049}.modal-fade-enter-active[data-v-7f3d5a4a],.modal-fade-leave-active[data-v-7f3d5a4a]{transition:opacity .2s}.modal-fade-enter-from[data-v-7f3d5a4a],.modal-fade-leave-to[data-v-7f3d5a4a]{opacity:0}.modal-overlay[data-v-36249f59]{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:9999}.modal-sheet[data-v-36249f59]{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-36249f59]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-36249f59]{margin:0;font-size:1.1rem;font-weight:600}.close-btn[data-v-36249f59]{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-36249f59]{padding:24px 20px}.app-preview[data-v-36249f59]{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.app-icon[data-v-36249f59]{width:80px;height:80px;border-radius:18px;box-shadow:0 4px 12px #0000001a}.app-name[data-v-36249f59]{font-weight:600;font-size:1.1rem}.description[data-v-36249f59]{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:24px;line-height:1.5}.instructions[data-v-36249f59]{background:var(--bg-secondary);border-radius:12px;padding:16px;margin-bottom:24px}.step[data-v-36249f59]{display:flex;align-items:flex-start;gap:12px;margin:0;padding:8px 0;font-size:.95rem;line-height:1.4}.step[data-v-36249f59]:not(:last-child){border-bottom:1px solid var(--border)}.step-num[data-v-36249f59]{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-36249f59]{text-align:center;color:var(--text-secondary);font-size:.95rem;padding:20px 0}.inline-icon[data-v-36249f59]{display:inline;vertical-align:middle;margin:0 2px}.note[data-v-36249f59]{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-top:16px;font-style:italic}.error[data-v-36249f59]{color:var(--error);text-align:center;font-size:.9rem;margin-top:12px}.modal-enter-active[data-v-36249f59],.modal-leave-active[data-v-36249f59]{transition:opacity .3s ease}.modal-enter-from[data-v-36249f59],.modal-leave-to[data-v-36249f59]{opacity:0}.modal-enter-active .modal-sheet[data-v-36249f59]{animation:slide-up-36249f59 .3s ease-out}.modal-leave-active .modal-sheet[data-v-36249f59]{animation:slide-down-36249f59 .2s ease-in}@keyframes slide-up-36249f59{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down-36249f59{0%{transform:translateY(0)}to{transform:translateY(100%)}}.add-app-btn[data-v-6a0516e1]{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-6a0516e1]:hover{opacity:.9}.add-app-btn[data-v-6a0516e1]:active{transform:scale(.97)}.profile-header[data-v-6a0516e1]{display:flex;gap:16px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.profile-avatar[data-v-6a0516e1]{flex-shrink:0;width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--accent);position:relative;cursor:pointer}.profile-avatar[data-v-6a0516e1]:active{transform:scale(.97)}.avatar-overlay[data-v-6a0516e1]{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.profile-avatar:hover .avatar-overlay[data-v-6a0516e1],.profile-avatar.uploading .avatar-overlay[data-v-6a0516e1]{opacity:1}.camera-icon[data-v-6a0516e1]{font-size:1.5rem}.upload-spinner[data-v-6a0516e1]{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-6a0516e1 .8s linear infinite}@keyframes spin-6a0516e1{to{transform:rotate(360deg)}}.photo-input[data-v-6a0516e1]{display:none}.avatar-image[data-v-6a0516e1]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-6a0516e1]{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-6a0516e1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.profile-name[data-v-6a0516e1]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.profile-bio[data-v-6a0516e1]{display:flex;flex-direction:column;gap:4px}.bio-text[data-v-6a0516e1]{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-6a0516e1]{align-self:flex-start;padding:0;background:none;border:none;font-size:.75rem;color:var(--accent);cursor:pointer}.edit-bio-btn[data-v-6a0516e1]:hover{text-decoration:underline}.bio-editor[data-v-6a0516e1]{display:flex;flex-direction:column;gap:8px}.bio-editor textarea[data-v-6a0516e1]{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-6a0516e1]:focus{outline:none;border-color:var(--accent)}.bio-actions[data-v-6a0516e1]{display:flex;align-items:center;gap:8px}.char-count[data-v-6a0516e1]{font-size:.7rem;color:var(--text-tertiary);margin-right:auto}.cancel-btn[data-v-6a0516e1],.save-btn[data-v-6a0516e1]{padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer}.cancel-btn[data-v-6a0516e1]{background:none;border:1px solid var(--border);color:var(--text-secondary)}.save-btn[data-v-6a0516e1]{background:var(--accent);border:none;color:#fff}.save-btn[data-v-6a0516e1]:disabled{opacity:.6;cursor:not-allowed}[data-v-6a0516e1] .greeting{display:inline}[data-v-6a0516e1] .cursor{display:inline;font-weight:300;color:var(--bg-primary);margin-left:-2px;margin-right:-2px}[data-v-6a0516e1] .cursor.active{color:var(--accent);animation:blink-6a0516e1 1s step-end infinite}@keyframes blink-6a0516e1{0%,to{opacity:1}50%{opacity:0}}.profile-screen[data-v-6a0516e1]{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-6a0516e1]{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-6a0516e1]{padding:16px;display:flex;flex-direction:column;gap:24px}.section[data-v-6a0516e1]{display:flex;flex-direction:column;gap:8px}.section-title[data-v-6a0516e1]{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-6a0516e1]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.membership-item[data-v-6a0516e1]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.membership-item[data-v-6a0516e1]:last-child{border-bottom:none}.membership-info[data-v-6a0516e1]{display:flex;flex-direction:column;gap:2px}.membership-name[data-v-6a0516e1]{font-size:.9rem;font-weight:500;color:var(--text-primary)}.membership-dates[data-v-6a0516e1]{font-size:.75rem;color:var(--text-tertiary)}.membership-badge[data-v-6a0516e1]{font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:6px;background:#e8f5e9;color:#2e7d32}.membership-badge.frozen[data-v-6a0516e1]{background:#fff3e0;color:#e65100}.settings-card[data-v-6a0516e1]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.account-row[data-v-6a0516e1]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.account-row[data-v-6a0516e1]:last-child{border-bottom:none}.account-label[data-v-6a0516e1]{font-size:.9rem;color:var(--text-primary)}.account-value[data-v-6a0516e1]{font-size:.85rem;color:var(--text-secondary)}.logout-row[data-v-6a0516e1]{cursor:pointer}.logout-text[data-v-6a0516e1]{font-size:.9rem;color:#c62828}.profile-footer[data-v-6a0516e1]{margin-top:auto;padding-top:16px;text-align:center}.version-link[data-v-6a0516e1]{margin:0 0 4px;font-size:.7rem;color:var(--text-tertiary);cursor:pointer}.history-link[data-v-6a0516e1]{color:var(--accent)}.version-link:hover .history-link[data-v-6a0516e1]{text-decoration:underline}.update-link[data-v-6a0516e1]{background:none;border:none;padding:0;font-size:.7rem;color:var(--accent);cursor:pointer}.update-link[data-v-6a0516e1]:hover{text-decoration:underline}.update-link[data-v-6a0516e1]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-6a0516e1]{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-6a0516e1]{margin-top:12px;display:flex;align-items:center;gap:12px}.progress-bar[data-v-6a0516e1]{flex:1;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill[data-v-6a0516e1]{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:4px;transition:width .3s ease-out;animation:shimmer-6a0516e1 1.5s infinite}@keyframes shimmer-6a0516e1{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.progress-text[data-v-6a0516e1]{font-size:.75rem;color:#666;font-weight:500;min-width:40px;text-align:right}.setting-row[data-v-6a0516e1]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.setting-label[data-v-6a0516e1]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-primary)}.setting-icon[data-v-6a0516e1]{font-size:1.1rem}.permission-note[data-v-6a0516e1]{font-size:.7rem;color:var(--text-tertiary);font-style:italic}.toggle-switch[data-v-6a0516e1]{position:relative;width:48px;height:28px}.toggle-switch input[data-v-6a0516e1]{opacity:0;width:0;height:0}.toggle-slider[data-v-6a0516e1]{position:absolute;cursor:pointer;inset:0;background-color:var(--border);border-radius:28px;transition:.3s}.toggle-slider[data-v-6a0516e1]: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-6a0516e1]{background-color:var(--accent)}.toggle-switch input:checked+.toggle-slider[data-v-6a0516e1]:before{transform:translate(20px)}.toggle-switch.disabled[data-v-6a0516e1]{opacity:.5;cursor:not-allowed}.toggle-switch.disabled input[data-v-6a0516e1]{cursor:not-allowed}.dashboard-screen[data-v-70937b1b]{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-70937b1b]{display:flex;flex-direction:column;flex:1;width:100%;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.hero-greeting[data-v-70937b1b]{padding:3vh 24px 0;padding-top:calc(3vh + env(safe-area-inset-top));text-align:center}.greeting-label[data-v-70937b1b]{font-size:1.1rem;color:var(--text-secondary);margin-bottom:4px;display:inline-flex;justify-content:center}.greeting[data-v-70937b1b]{color:var(--text-primary)}.greeting[data-v-70937b1b]:empty:before{content:" ";visibility:hidden}.greeting-name[data-v-70937b1b]{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-70937b1b]{color:transparent;font-weight:300;animation:none;width:0;display:inline-block}.cursor.active[data-v-70937b1b]{color:var(--accent);animation:blink-70937b1b .8s infinite}@keyframes blink-70937b1b{0%,50%{opacity:1}51%,to{opacity:0}}.quote-section[data-v-70937b1b]{padding:16px 32px 20px;text-align:center;position:relative}.quote-section[data-v-70937b1b]: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-70937b1b]{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-70937b1b]{font-size:.85rem;color:var(--accent);font-weight:500;letter-spacing:1px;text-transform:uppercase}.mosaic-grid[data-v-70937b1b]{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(80px,auto);gap:12px;padding:0 16px}.mosaic-card[data-v-70937b1b]{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-70937b1b]:active{transform:scale(.97)}.card-tall[data-v-70937b1b]{grid-row:span 2}.card-wide[data-v-70937b1b]{grid-column:span 2}.card-highlight[data-v-70937b1b]{background:linear-gradient(135deg,var(--accent) 0%,#d4886a 100%);border:none}.card-highlight .card-label[data-v-70937b1b],.card-highlight .card-value[data-v-70937b1b],.card-highlight .card-meta[data-v-70937b1b]{color:#fff}.card-highlight .card-label[data-v-70937b1b]{opacity:.85}.card-featured[data-v-70937b1b]{overflow:hidden;position:relative;padding:0;min-height:160px;display:flex;flex-direction:column}.card-featured>.card-label[data-v-70937b1b]{position:absolute;top:20px;left:20px;z-index:3;color:#fff}.featured-carousel-track[data-v-70937b1b]{display:flex;transition:transform .3s ease-out;width:100%;height:100%}.featured-slide[data-v-70937b1b]{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-70937b1b]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d)}.featured-slide.has-image .featured-content[data-v-70937b1b]{position:relative;z-index:1}.featured-slide.has-image .card-value[data-v-70937b1b],.featured-slide.has-image .card-meta[data-v-70937b1b],.featured-slide.has-image .card-label[data-v-70937b1b]{color:#fff}.featured-content[data-v-70937b1b]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:10px}.featured-slide.no-pagination .featured-content[data-v-70937b1b]{padding-bottom:0}.featured-content .card-value[data-v-70937b1b]{display:block;margin-bottom:8px}.featured-content .card-meta[data-v-70937b1b]{display:block}.featured-default[data-v-70937b1b]{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-70937b1b]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d);border-radius:16px}.featured-default .card-label[data-v-70937b1b],.featured-default .card-value[data-v-70937b1b],.featured-default .card-meta[data-v-70937b1b]{position:relative;z-index:1;color:#fff}.featured-dots[data-v-70937b1b]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.featured-dots .dot[data-v-70937b1b]{width:6px;height:6px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .2s ease}.featured-dots .dot.active[data-v-70937b1b]{background:#fff;width:18px;border-radius:3px}.card-messages[data-v-70937b1b]{background:linear-gradient(145deg,#6b7c5e,#8a9e7a);border:none}.card-messages .card-label[data-v-70937b1b],.card-messages .card-value[data-v-70937b1b],.card-messages .card-meta[data-v-70937b1b],.card-messages .card-empty[data-v-70937b1b]{color:#fff}.card-messages .card-label[data-v-70937b1b],.card-messages .card-empty[data-v-70937b1b]{opacity:.85}.card-pulse[data-v-70937b1b]{background:linear-gradient(145deg,#d4a574,#e8c9a8);border:none}.card-pulse .card-label[data-v-70937b1b],.card-pulse .card-value[data-v-70937b1b],.card-pulse .card-meta[data-v-70937b1b],.card-pulse .card-preview[data-v-70937b1b],.card-pulse .card-empty[data-v-70937b1b]{color:#3d3025}.card-pulse .card-label[data-v-70937b1b],.card-pulse .card-empty[data-v-70937b1b]{opacity:.7}.card-label[data-v-70937b1b]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:8px}.card-value[data-v-70937b1b]{font-size:1.1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.card-preview[data-v-70937b1b]{font-size:.95rem;color:var(--text-primary);line-height:1.5}.card-meta[data-v-70937b1b]{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.card-meta.stale[data-v-70937b1b]{opacity:.7;font-style:italic}.card-empty[data-v-70937b1b]{font-size:.95rem;color:var(--text-secondary);font-style:italic}.tree-progress[data-v-70937b1b]{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-70937b1b]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d);border-radius:16px}.tree-progress[data-v-70937b1b]>*{position:relative;z-index:1}.progress-header[data-v-70937b1b]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tree-icon[data-v-70937b1b]{font-size:1.5rem}.progress-title[data-v-70937b1b]{font-family:var(--font-display);font-size:1.3rem;font-weight:300;color:#fff}.progress-bar[data-v-70937b1b]{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill[data-v-70937b1b]{height:100%;background:#fff;border-radius:4px;transition:width .5s ease}.progress-message[data-v-70937b1b]{font-size:.9rem;color:#ffffffe6;margin:0}.progress-last[data-v-70937b1b]{font-size:.8rem;color:#ffffffb3;margin:6px 0 0}.card-upcoming[data-v-70937b1b]{justify-content:space-between;overflow:hidden;position:relative;padding:0}.card-upcoming .card-label[data-v-70937b1b]{position:absolute;top:20px;left:20px;z-index:3;color:#fff}.carousel-track[data-v-70937b1b]{display:flex;width:100%;height:100%;transition:transform .3s ease-out;position:absolute;inset:0}.carousel-slide[data-v-70937b1b]{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-70937b1b]:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0006,#0000004d)}.carousel-slide.has-image .upcoming-content[data-v-70937b1b]{position:relative;z-index:1}.carousel-slide.has-image .card-value[data-v-70937b1b],.carousel-slide.has-image .card-meta[data-v-70937b1b]{color:#fff}.card-upcoming .upcoming-content[data-v-70937b1b]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:10px}.carousel-slide.no-pagination .upcoming-content[data-v-70937b1b]{padding-bottom:0}.card-upcoming .card-value[data-v-70937b1b]{display:block;margin-bottom:8px}.card-upcoming .card-meta[data-v-70937b1b]{display:block;font-size:.75rem}.swiper-dots[data-v-70937b1b]{display:flex;justify-content:center;gap:6px;position:absolute;bottom:16px;left:0;right:0;z-index:3}.dot[data-v-70937b1b]{width:6px;height:6px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .2s ease}.dot.active[data-v-70937b1b]{background:var(--accent);width:18px;border-radius:3px}.card-upcoming .dot[data-v-70937b1b]{background:#ffffff80}.card-upcoming .dot.active[data-v-70937b1b]{background:#fff}.is-loading[data-v-70937b1b]{pointer-events:none}.skeleton-content[data-v-70937b1b]{padding:20px;width:100%}.skeleton[data-v-70937b1b]{background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:shimmer-70937b1b 1.5s infinite;border-radius:4px}.skeleton-label[data-v-70937b1b]{width:60px;height:12px;margin-bottom:12px}.skeleton-title[data-v-70937b1b]{width:70%;height:20px;margin-bottom:8px}.skeleton-preview[data-v-70937b1b]{width:90%;height:16px;margin-bottom:8px}.skeleton-meta[data-v-70937b1b]{width:50%;height:14px;margin-bottom:6px}.skeleton-progress-bar[data-v-70937b1b]{width:100%;height:8px;margin-bottom:10px}@keyframes shimmer-70937b1b{0%{background-position:200% 0}to{background-position:-200% 0}}.card-featured.is-loading[data-v-70937b1b]{background:linear-gradient(135deg,var(--accent) 0%,#d4886a 100%)}.card-upcoming.is-loading[data-v-70937b1b]{background:var(--bg-secondary)}.card-pulse.is-loading[data-v-70937b1b]{background:linear-gradient(145deg,#d4a574,#e8c9a8)}.tree-progress.is-loading .skeleton[data-v-70937b1b]{background:linear-gradient(90deg,#fff3 25%,#ffffff4d,#fff3 75%);background-size:200% 100%;animation:shimmer-70937b1b 1.5s infinite}.service-tabs[data-v-efabce09]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.tabs-header[data-v-efabce09]{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-efabce09]::-webkit-scrollbar{display:none}.tab-btn[data-v-efabce09]{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-efabce09]{position:relative;display:inline-block}.tab-btn span[data-v-efabce09]:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .2s}.tab-btn[data-v-efabce09]:first-child{padding-left:1rem}.tab-btn[data-v-efabce09]:last-child{padding-right:1rem}.tab-btn[data-v-efabce09]:hover{color:var(--text-primary)}.tab-btn.active[data-v-efabce09]{color:var(--accent)}.tab-btn.active span[data-v-efabce09]:after{width:100%}.tab-content[data-v-efabce09]{padding:0;flex:1;min-height:0;overflow:hidden}.class-calendar[data-v-2bb06a3e]{background:var(--bg-primary);padding:.5rem 0;border-bottom:1px solid var(--border)}.calendar-scroll[data-v-2bb06a3e]{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-2bb06a3e]::-webkit-scrollbar{display:none}.calendar-day[data-v-2bb06a3e]{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[data-v-2bb06a3e]:hover{background:var(--bg-secondary)}.calendar-day.is-today[data-v-2bb06a3e]{color:var(--accent);font-weight:700}.calendar-day.is-today[data-v-2bb06a3e]:hover{background:var(--bg-secondary);color:var(--accent)}.calendar-day.is-selected[data-v-2bb06a3e],.calendar-day.is-today.is-selected[data-v-2bb06a3e]{background:var(--accent);color:#fff}.day-label[data-v-2bb06a3e]{font-size:.5625rem;font-weight:600;margin-bottom:.0625rem;color:inherit;opacity:.7;text-transform:uppercase}.calendar-day.is-today .day-label[data-v-2bb06a3e],.calendar-day.is-selected .day-label[data-v-2bb06a3e]{opacity:1}.day-number[data-v-2bb06a3e]{font-size:.875rem;font-weight:600;color:inherit}.class-card[data-v-29e8cf31]{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-29e8cf31]{cursor:pointer}.class-card.clickable[data-v-29e8cf31]:hover{box-shadow:0 4px 12px var(--shadow);border-color:var(--accent)}.class-card.clickable[data-v-29e8cf31]:active{transform:scale(.99)}.class-card.cancelled[data-v-29e8cf31]{opacity:.6}.class-card.past[data-v-29e8cf31]{opacity:.5}.class-image-container[data-v-29e8cf31]{position:relative;width:100%;height:160px;flex-shrink:0;border-radius:12px 12px 0 0;overflow:hidden}.class-image[data-v-29e8cf31],.class-image-placeholder[data-v-29e8cf31]{width:100%;height:100%}.class-image img[data-v-29e8cf31]{width:100%;height:100%;object-fit:cover;display:block}.class-image-placeholder[data-v-29e8cf31]{background:var(--accent);display:flex;align-items:center;justify-content:center}.class-image-placeholder svg[data-v-29e8cf31]{width:48px;height:48px;color:#fff}.favorite-btn[data-v-29e8cf31]{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-29e8cf31]:hover:not(:disabled){transform:scale(1.1);background:#fff}.favorite-btn[data-v-29e8cf31]:disabled{opacity:.5;cursor:not-allowed}.favorite-btn svg[data-v-29e8cf31]{width:20px;height:20px;color:var(--text-secondary);transition:all .2s}.favorite-btn.is-favorited svg[data-v-29e8cf31]{color:#ef4444}.favorite-btn:hover:not(:disabled) svg[data-v-29e8cf31]{color:#ef4444}.class-info[data-v-29e8cf31]{padding:1rem!important;display:flex!important;flex-direction:column!important;gap:.5rem}.class-header[data-v-29e8cf31]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.class-header h3[data-v-29e8cf31]{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.class-badge[data-v-29e8cf31]{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.class-badge.cancelled[data-v-29e8cf31]{background:#fee2e2;color:#991b1b}.class-badge.full[data-v-29e8cf31],.class-badge.low-spots[data-v-29e8cf31]{background:#fef3c7;color:#92400e}.class-badge.booked[data-v-29e8cf31]{background:#dcfce7;color:#166534}.class-details-grid[data-v-29e8cf31]{display:flex;flex-direction:column;gap:.375rem}.class-detail-row[data-v-29e8cf31]{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-secondary)}.class-detail-row svg[data-v-29e8cf31]{width:14px;height:14px;flex-shrink:0;color:var(--accent)}.no-sessions-message[data-v-29e8cf31]{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.875rem;color:var(--text-secondary)}.no-sessions-message svg[data-v-29e8cf31]{width:16px;height:16px;flex-shrink:0;opacity:.6}.class-action-btn[data-v-29e8cf31]{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-29e8cf31]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.class-action-btn[data-v-29e8cf31]:disabled{background:var(--text-secondary);cursor:not-allowed;opacity:.6}.class-action-btn.booked[data-v-29e8cf31]{background:#6b7c5e}.class-action-btn.booked[data-v-29e8cf31]:hover{background:#5a6a4f}.booking-dates[data-v-29e8cf31]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.date-btn[data-v-29e8cf31]{padding:.5rem .75rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.date-btn[data-v-29e8cf31]:hover{background:var(--accent-hover);transform:translateY(-1px)}.more-dates[data-v-29e8cf31]{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-61e1d850]{position:relative}.location-pill[data-v-61e1d850]{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[data-v-61e1d850]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.location-pill svg[data-v-61e1d850]{width:16px;height:16px}.drawer-overlay[data-v-61e1d850]{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.drawer-content[data-v-61e1d850]{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-61e1d850]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.drawer-header h3[data-v-61e1d850]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.close-btn[data-v-61e1d850]{background:none;border:none;color:var(--accent);font-size:.875rem;font-weight:600;cursor:pointer}.locations-list[data-v-61e1d850]{flex:1;overflow-y:auto;padding:.5rem}.location-item[data-v-61e1d850]{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[data-v-61e1d850]:hover{background:var(--bg-secondary)}.location-item.selected[data-v-61e1d850]{background:var(--accent);color:#fff}.location-item svg[data-v-61e1d850]{width:16px;height:16px}.drawer-footer[data-v-61e1d850]{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-61e1d850]{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}.clear-btn[data-v-61e1d850]:hover{border-color:var(--accent)}.continue-btn[data-v-61e1d850]{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}.continue-btn[data-v-61e1d850]:hover{background:var(--accent-hover)}.drawer-enter-active[data-v-61e1d850],.drawer-leave-active[data-v-61e1d850]{transition:opacity .3s ease}.drawer-enter-active .drawer-content[data-v-61e1d850],.drawer-leave-active .drawer-content[data-v-61e1d850]{transition:transform .3s ease}.drawer-enter-from[data-v-61e1d850],.drawer-leave-to[data-v-61e1d850]{opacity:0}.drawer-enter-from .drawer-content[data-v-61e1d850],.drawer-leave-to .drawer-content[data-v-61e1d850]{transform:translateY(100%)}.month-filter[data-v-23e26f7f]{background:var(--bg-primary);padding:.5rem 0;border-bottom:1px solid var(--border)}.month-scroll[data-v-23e26f7f]{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-23e26f7f]::-webkit-scrollbar{display:none}.year-label[data-v-23e26f7f]{flex-shrink:0;font-size:.6875rem;font-weight:600;color:var(--text-secondary);opacity:.5;padding:0 .25rem}.month-btn[data-v-23e26f7f]{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[data-v-23e26f7f]:hover{border-color:var(--accent);background:var(--bg-secondary)}.month-btn.active[data-v-23e26f7f]{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent)}.yoga-fitness-tab[data-v-22a4add9]{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.sub-nav[data-v-22a4add9]{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-22a4add9]{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[data-v-22a4add9]:hover{border-color:var(--accent);background:var(--bg-secondary)}.sub-nav-btn.active[data-v-22a4add9]{background:var(--accent);color:#fff;border-color:transparent}.count-badge[data-v-22a4add9]{background:#fff3;padding:.0625rem .3rem;border-radius:6px;font-size:.625rem}.sub-nav-btn.active .count-badge[data-v-22a4add9]{background:#ffffff4d}.sub-nav-btn.favorites-btn svg[data-v-22a4add9]{width:14px;height:14px;color:#ef4444}.sub-nav-btn.favorites-btn.active svg[data-v-22a4add9]{color:#fff}.empty-state[data-v-22a4add9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;text-align:center}.empty-state svg[data-v-22a4add9]{width:64px;height:64px;color:var(--border)}.empty-state h3[data-v-22a4add9]{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.empty-state p[data-v-22a4add9]{margin:0;color:var(--text-secondary);font-size:.875rem}.empty-state-cta[data-v-22a4add9]{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}.empty-state-cta[data-v-22a4add9]:hover{opacity:.9}.next-session-hint[data-v-22a4add9]{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem}.next-session-hint p[data-v-22a4add9]{margin:0;color:var(--text-secondary);font-size:.875rem}.jump-btn[data-v-22a4add9]{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.jump-btn[data-v-22a4add9]:hover{background:var(--accent-hover);transform:translateY(-1px)}.classes-list[data-v-22a4add9]{display:flex;flex-direction:column;gap:1rem;padding:1rem 1rem 5rem;overflow-y:auto;flex:1;min-height:0}.location-filter-container[data-v-22a4add9]{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:100}.book-more-cta[data-v-22a4add9]{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}.book-more-cta[data-v-22a4add9]:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-primary)}.webview-modal[data-v-57e5b8a0]{position:fixed;inset:0;z-index:1000;background:var(--bg-primary);display:flex;flex-direction:column}.webview-header[data-v-57e5b8a0]{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-57e5b8a0]{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-57e5b8a0]{width:20px;height:20px;flex-shrink:0}.external-link[data-v-57e5b8a0]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.external-link svg[data-v-57e5b8a0]{width:18px;height:18px}.webview-iframe[data-v-57e5b8a0]{flex:1;width:100%;border:none;background:#fff}.cliniko-service[data-v-57e5b8a0]{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:2rem}.hero-image[data-v-57e5b8a0]{width:100%;height:260px;overflow:hidden}.hero-image img[data-v-57e5b8a0]{width:100%;height:100%;object-fit:cover}.service-content[data-v-57e5b8a0]{max-width:500px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.service-title[data-v-57e5b8a0]{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:var(--text-primary)}.service-description[data-v-57e5b8a0]{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1.5rem}.pricing-section[data-v-57e5b8a0]{width:100%;text-align:left;margin-bottom:1.5rem}.pricing-section h3[data-v-57e5b8a0]{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 .75rem}.pricing-list[data-v-57e5b8a0]{list-style:none;padding:0;margin:0;background:var(--bg-secondary);border-radius:12px;overflow:hidden}.pricing-list li[data-v-57e5b8a0]{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:1px solid var(--border)}.pricing-list li[data-v-57e5b8a0]:last-child{border-bottom:none}.price-name[data-v-57e5b8a0]{font-size:.9rem;color:var(--text-primary)}.price-details[data-v-57e5b8a0]{display:flex;align-items:center;gap:.5rem}.price-amount[data-v-57e5b8a0]{font-weight:600;color:var(--text-primary)}.price-duration[data-v-57e5b8a0]{font-size:.8rem;color:var(--text-tertiary)}.book-button[data-v-57e5b8a0]{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-57e5b8a0]:hover{opacity:.9}.book-button[data-v-57e5b8a0]:active{opacity:.8}.contact-info[data-v-57e5b8a0]{width:100%;text-align:center}.contact-link[data-v-57e5b8a0]{display:block;margin:.5rem 0;font-size:.875rem;color:var(--text-secondary);text-decoration:none;transition:color .2s}.contact-link[data-v-57e5b8a0]:hover{color:var(--accent)}.contact-info .icon[data-v-57e5b8a0]{margin-right:.25rem}.services-screen[data-v-b721feb0]{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}.services-view[data-v-b721feb0]{width:100%;height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));overflow:hidden}.tab-panel[data-v-b721feb0]{height:100%;overflow:hidden}.header-actions[data-v-b721feb0]{display:flex;gap:8px;align-items:center}.header-action-btn[data-v-b721feb0]{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[data-v-b721feb0]:hover{background:var(--bg-secondary)}.header-action-btn svg[data-v-b721feb0]{flex-shrink:0}.header-action-btn .count-badge[data-v-b721feb0]{font-size:12px;font-weight:600}.header-action-btn.booked-btn[data-v-b721feb0]{color:var(--accent)}.header-action-btn.booked-btn.active[data-v-b721feb0]{background:var(--accent);border-color:var(--accent);color:#fff}.header-action-btn.favorites-btn[data-v-b721feb0]{color:#e53935}.header-action-btn.favorites-btn.active[data-v-b721feb0]{background:#e53935;border-color:#e53935;color:#fff}.header-action-btn.empty[data-v-b721feb0]{color:var(--text-tertiary);opacity:.6}.header-action-btn.empty.active[data-v-b721feb0]{opacity:1}.drawer-overlay[data-v-b71700d1]{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:9999}.drawer-sheet[data-v-b71700d1]{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-b71700d1]{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 16px}.close-button[data-v-b71700d1]{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[data-v-b71700d1]:hover{background:var(--bg-tertiary)}.close-button svg[data-v-b71700d1]{width:18px;height:18px;color:var(--text-secondary)}.drawer-content[data-v-b71700d1]{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:8px;min-height:150px}.loading-spinner[data-v-b71700d1]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-b71700d1 .8s linear infinite;margin:50px 0}@keyframes spin-b71700d1{to{transform:rotate(360deg)}}.instructor-avatar[data-v-b71700d1]{width:120px;height:120px;border-radius:50%;overflow:hidden;margin-bottom:16px;background:var(--bg-secondary);flex-shrink:0}.instructor-avatar img[data-v-b71700d1]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-b71700d1]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.avatar-placeholder svg[data-v-b71700d1]{width:48px;height:48px;color:var(--text-secondary)}.instructor-name[data-v-b71700d1]{margin:0 0 16px;font-size:1.4rem;font-weight:700;color:var(--text-primary)}.instructor-bio[data-v-b71700d1]{width:100%;text-align:left}.instructor-bio p[data-v-b71700d1]{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.6;white-space:pre-line}.drawer-enter-active[data-v-b71700d1]{transition:opacity .3s ease}.drawer-leave-active[data-v-b71700d1]{transition:opacity .2s ease}.drawer-enter-from[data-v-b71700d1],.drawer-leave-to[data-v-b71700d1]{opacity:0}.drawer-enter-active .drawer-sheet[data-v-b71700d1]{animation:drawer-slide-up-b71700d1 .3s ease-out}.drawer-leave-active .drawer-sheet[data-v-b71700d1]{animation:drawer-slide-down-b71700d1 .2s ease-in}@keyframes drawer-slide-up-b71700d1{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes drawer-slide-down-b71700d1{0%{transform:translateY(0)}to{transform:translateY(100%)}}.screen[data-v-6ec7eedb]{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-6ec7eedb]{height:100vh;display:flex;flex-direction:column;padding:0}.booking-header[data-v-6ec7eedb]{display:flex;align-items:center;padding:12px 16px;background:var(--bg-primary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.back-button[data-v-6ec7eedb]{background:none;border:none;color:var(--accent);cursor:pointer;padding:8px;border-radius:50%;transition:background .2s;margin-right:8px}.back-button[data-v-6ec7eedb]:hover{background:var(--bg-secondary)}.back-button svg[data-v-6ec7eedb]{width:20px;height:20px;display:block}.header-title[data-v-6ec7eedb]{flex:1;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;text-align:center}.header-spacer[data-v-6ec7eedb]{width:36px}.booking-body[data-v-6ec7eedb]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding-bottom:180px}.hero-image[data-v-6ec7eedb]{position:relative;width:100%;height:200px;overflow:hidden;flex-shrink:0}.hero-image img[data-v-6ec7eedb]{width:100%;height:100%;object-fit:cover}.hero-overlay[data-v-6ec7eedb]{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-6ec7eedb]{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-6ec7eedb]{width:48px;height:48px;color:var(--text-secondary)}.centered-state h2[data-v-6ec7eedb]{margin:0;font-size:1.3rem;font-weight:700;color:var(--text-primary)}.centered-state p[data-v-6ec7eedb]{margin:0;color:var(--text-secondary);font-size:.95rem}.error-message[data-v-6ec7eedb]{color:#ef4444}.success-icon[data-v-6ec7eedb]{color:#22c55e!important;width:64px!important;height:64px!important}.success-icon.waitlist[data-v-6ec7eedb]{color:var(--accent)!important}.spinner[data-v-6ec7eedb]{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-6ec7eedb .8s linear infinite}@keyframes spin-6ec7eedb{to{transform:rotate(360deg)}}.details-section[data-v-6ec7eedb]{padding:0 16px}.class-name-row[data-v-6ec7eedb]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.class-name[data-v-6ec7eedb]{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-primary);flex:1}.booked-badge[data-v-6ec7eedb]{padding:6px 14px;border-radius:16px;background:#dcfce7;color:#166534;font-size:.85rem;font-weight:600;white-space:nowrap}.description-container[data-v-6ec7eedb]{margin-bottom:16px}.class-description[data-v-6ec7eedb]{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-6ec7eedb]{max-height:5.6em;transition:max-height .4s ease-in}.read-more-button[data-v-6ec7eedb]{background:none;border:none;color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:opacity .2s}.read-more-button[data-v-6ec7eedb]:hover{opacity:.8}.detail-row[data-v-6ec7eedb]{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem}.detail-row[data-v-6ec7eedb]:last-child{margin-bottom:0}.detail-row.instructor-row[data-v-6ec7eedb]{cursor:pointer}.instructor-link[data-v-6ec7eedb]{color:var(--accent)}.info-icon[data-v-6ec7eedb]{color:var(--text-secondary);margin-left:4px;flex-shrink:0}.price-row .price-value[data-v-6ec7eedb]{font-weight:700;color:var(--accent);font-size:1rem}.detail-row svg[data-v-6ec7eedb]{width:16px;height:16px;flex-shrink:0;color:var(--accent)}.attendance-section[data-v-6ec7eedb]{padding:0 16px}.attendance-options[data-v-6ec7eedb]{display:flex;flex-direction:row;gap:10px}.attendance-option[data-v-6ec7eedb]{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[data-v-6ec7eedb]:hover{border-color:var(--accent)}.attendance-option.selected[data-v-6ec7eedb]{border-color:var(--accent);border-width:2px;background:#b85c381f;box-shadow:0 2px 8px #b85c3840}.attendance-option>svg[data-v-6ec7eedb]:first-child{width:20px;height:20px;color:var(--accent);flex-shrink:0}.option-info[data-v-6ec7eedb]{display:flex;flex-direction:column;align-items:center;gap:2px}.option-label[data-v-6ec7eedb]{font-weight:600;font-size:.8rem;color:var(--text-primary)}.option-detail[data-v-6ec7eedb]{font-size:.7rem;color:var(--text-secondary)}.memberships-section[data-v-6ec7eedb]{padding:0 16px}.section-title[data-v-6ec7eedb]{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.memberships-list[data-v-6ec7eedb]{display:flex;flex-direction:column;gap:8px}.membership-card[data-v-6ec7eedb]{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[data-v-6ec7eedb]:hover:not(.disabled){border-color:var(--accent);transform:translateY(-1px)}.membership-card.selected[data-v-6ec7eedb]{border-color:var(--accent);border-width:2px;background:#b85c381f;box-shadow:0 2px 8px #b85c3840}.membership-card.disabled[data-v-6ec7eedb]{opacity:.5;cursor:not-allowed}.membership-info[data-v-6ec7eedb]{flex:1}.membership-name[data-v-6ec7eedb]{font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:2px}.membership-usage[data-v-6ec7eedb],.incompatibility-text[data-v-6ec7eedb]{font-size:.75rem;color:var(--text-secondary)}.check-icon[data-v-6ec7eedb]{width:18px;height:18px;color:var(--accent);flex-shrink:0}.no-memberships[data-v-6ec7eedb]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 16px;gap:12px}.no-memberships svg[data-v-6ec7eedb]{width:48px;height:48px;color:var(--text-secondary)}.no-memberships h3[data-v-6ec7eedb]{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.no-memberships p[data-v-6ec7eedb]{margin:0;color:var(--text-secondary);font-size:.9rem}.external-booking-link[data-v-6ec7eedb]{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}.external-booking-link[data-v-6ec7eedb]:hover{opacity:.9}.primary-button[data-v-6ec7eedb]{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-6ec7eedb]:hover:not(:disabled){opacity:.9}.primary-button[data-v-6ec7eedb]:disabled{opacity:.5;cursor:not-allowed}.secondary-button[data-v-6ec7eedb]{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}.secondary-button[data-v-6ec7eedb]:hover{background:var(--bg-tertiary)}.button-wrapper[data-v-6ec7eedb]{padding:0 16px;flex-shrink:0}.waitlist-info[data-v-6ec7eedb],.full-notice[data-v-6ec7eedb]{text-align:center;margin-bottom:12px}.waitlist-info p[data-v-6ec7eedb],.full-notice p[data-v-6ec7eedb]{margin:8px 0 0;font-size:.85rem;color:var(--text-secondary)}.full-badge[data-v-6ec7eedb]{display:inline-block;padding:4px 12px;background:#fef3c7;color:#92400e;font-size:.8rem;font-weight:600;border-radius:12px}.waitlist-btn[data-v-6ec7eedb]{background:var(--accent)}.calendar-section[data-v-6ec7eedb]{padding:0 16px}.calendar-button[data-v-6ec7eedb]{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-6ec7eedb]:hover{background:var(--bg-tertiary);border-color:var(--accent)}.calendar-button[data-v-6ec7eedb]:active{transform:scale(.98)}.calendar-button svg[data-v-6ec7eedb]{width:18px;height:18px;color:var(--accent)}.stream-section[data-v-6ec7eedb]{padding:0 16px}.stream-card[data-v-6ec7eedb]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:12px}.stream-info[data-v-6ec7eedb]{display:flex;align-items:center;gap:10px}.stream-info>svg[data-v-6ec7eedb]{width:24px;height:24px;color:var(--accent);flex-shrink:0}.stream-details[data-v-6ec7eedb]{display:flex;flex-direction:column;gap:4px}.stream-label[data-v-6ec7eedb]{font-size:.85rem;color:var(--text-secondary)}.stream-link[data-v-6ec7eedb]{color:var(--accent);font-weight:600;text-decoration:none;font-size:.95rem}.stream-link[data-v-6ec7eedb]:hover{text-decoration:underline}.stream-password[data-v-6ec7eedb]{margin-left:auto;display:flex;align-items:center;gap:6px}.password-label[data-v-6ec7eedb]{font-size:.85rem;color:var(--text-secondary)}.password-value[data-v-6ec7eedb]{background:var(--bg-primary);padding:4px 8px;border-radius:4px;font-family:monospace;font-size:.9rem;color:var(--text-primary)}.cancel-section[data-v-6ec7eedb]{padding:16px;margin-top:32px;border-top:1px solid var(--border)}.cancel-section .section-title[data-v-6ec7eedb]{font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.cancel-policy[data-v-6ec7eedb]{font-size:.8rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.cancel-policy strong[data-v-6ec7eedb]{color:var(--text-secondary);font-weight:500}.late-warning[data-v-6ec7eedb]{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-6ec7eedb]{flex-shrink:0}.cancel-button[data-v-6ec7eedb]{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-6ec7eedb]:hover:not(:disabled){background:#dc3545;color:#fff}.cancel-button[data-v-6ec7eedb]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-6ec7eedb]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-6ec7eedb]{background:var(--bg-primary);border-radius:12px;padding:20px;max-width:300px;width:100%;text-align:center}.modal-content h3[data-v-6ec7eedb]{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.modal-content p[data-v-6ec7eedb]{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.modal-content .late-warning[data-v-6ec7eedb]{background:#fef3cd;border-radius:6px;padding:8px 10px;margin-bottom:16px;font-size:.8rem;color:#856404;text-align:left}.modal-actions[data-v-6ec7eedb]{display:flex;gap:10px}.modal-btn[data-v-6ec7eedb]{flex:1;padding:10px 14px;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.modal-btn-secondary[data-v-6ec7eedb]{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.modal-btn-secondary[data-v-6ec7eedb]:hover{background:var(--bg-tertiary, #e5e5e5)}.modal-btn-danger[data-v-6ec7eedb]{background:#b54248;border:none;color:#fff}.modal-btn-danger[data-v-6ec7eedb]:hover{background:#9c3a3f}.pulse-post[data-v-b2e4fde3]{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-b2e4fde3]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.author-info[data-v-b2e4fde3]{display:flex;gap:12px;align-items:center}.author-avatar[data-v-b2e4fde3]{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-b2e4fde3]{display:flex;flex-direction:column;gap:2px}.author-name[data-v-b2e4fde3]{font-weight:600;font-size:.95rem;color:var(--text-primary)}.post-time[data-v-b2e4fde3]{font-size:.8rem;color:var(--text-secondary)}.delete-button[data-v-b2e4fde3]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:background .2s}.delete-button[data-v-b2e4fde3]:hover{background:var(--bg-secondary);color:var(--error)}.post-header[data-v-b2e4fde3]{cursor:pointer;transition:background .2s}.post-header[data-v-b2e4fde3]:hover{background:var(--bg-secondary);border-radius:8px;margin:-8px;padding:8px}.post-content[data-v-b2e4fde3]{font-size:.95rem;line-height:1.5;color:var(--text-primary);margin-bottom:12px;white-space:pre-wrap;word-wrap:break-word;cursor:pointer;transition:background .2s}.post-content[data-v-b2e4fde3]:hover{background:var(--bg-secondary);border-radius:8px;margin:-8px 0 12px;padding:8px}.hashtag[data-v-b2e4fde3]{color:var(--accent);font-weight:600;cursor:pointer;transition:all .2s;border-radius:4px;padding:2px 0;margin:0 2px}.hashtag[data-v-b2e4fde3]:hover{background:var(--bg-secondary);transform:scale(1.05)}.post-categories[data-v-b2e4fde3]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.category-tag[data-v-b2e4fde3]{padding:4px 10px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:500}.post-actions[data-v-b2e4fde3]{display:flex;gap:16px;padding-top:8px}.action-button[data-v-b2e4fde3]{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:6px 12px;border-radius:8px;transition:all .2s}.action-button[data-v-b2e4fde3]:hover{background:var(--bg-secondary)}.action-button.liked[data-v-b2e4fde3]{color:#f44}.pulse-screen[data-v-8eff521e]{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}.pulse-container[data-v-8eff521e]{width:100%;height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));overflow:hidden}.category-filters[data-v-8eff521e]{display:flex;justify-content:space-around;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-primary);position:sticky;top:0;z-index:10}.category-button[data-v-8eff521e]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px;border:none;background:transparent;color:var(--text-secondary);font-size:.7rem;font-weight:600;transition:all .2s;cursor:pointer;flex:1}.category-button.active[data-v-8eff521e]{color:var(--text-primary)}.category-icon[data-v-8eff521e]{width:48px;height:48px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .2s}.category-button.active .category-icon[data-v-8eff521e]{background:var(--accent);border-color:var(--accent)}.category-icon svg[data-v-8eff521e]{color:var(--text-secondary)}.category-button.active .category-icon svg[data-v-8eff521e]{color:var(--bg-primary)}.category-label[data-v-8eff521e]{font-size:.65rem;text-align:center;white-space:nowrap}.posts-feed[data-v-8eff521e]{flex:1;overflow-y:auto;min-height:0;padding:12px}.posts-list[data-v-8eff521e]{display:flex;flex-direction:column}.loading-more[data-v-8eff521e]{padding:20px;text-align:center;color:var(--text-secondary);font-size:.9rem}.header-action[data-v-8eff521e]{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-8eff521e]:hover{transform:scale(1.05)}.empty-state[data-v-8eff521e]{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-8eff521e]{font-size:.9rem;margin-top:4px;opacity:.7}.screen[data-v-92ad9487]{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-92ad9487]{height:100vh;display:flex;flex-direction:column;padding:0}.post-button-header[data-v-92ad9487]{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-92ad9487]:disabled{opacity:.5;cursor:not-allowed}.post-button-header[data-v-92ad9487]:not(:disabled):hover{opacity:.9}.compose-body[data-v-92ad9487]{flex:1;padding:20px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;max-width:100%}.compose-textarea[data-v-92ad9487]{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-92ad9487]:focus{outline:none;border-color:var(--accent)}.category-selector[data-v-92ad9487]{display:flex;flex-direction:column;gap:12px}.selector-label[data-v-92ad9487]{font-size:.9rem;font-weight:600;color:var(--text-primary)}.category-options[data-v-92ad9487]{display:flex;flex-wrap:wrap;gap:8px}.category-option[data-v-92ad9487]{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-92ad9487]:hover{border-color:var(--accent)}.category-option.selected[data-v-92ad9487]{border-color:var(--accent);background:var(--accent);color:var(--bg-primary)}.screen[data-v-7338587f]{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-7338587f]{height:100vh;display:flex;flex-direction:column;padding:0}.post-detail-header[data-v-7338587f]{display:flex;align-items:center;padding:12px 16px;background:var(--bg-primary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.back-button[data-v-7338587f]{background:none;border:none;color:var(--accent);cursor:pointer;padding:8px;border-radius:50%;transition:background .2s;margin-right:8px}.back-button[data-v-7338587f]:hover{background:var(--bg-secondary)}.header-title[data-v-7338587f]{flex:1;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;text-align:center}.header-actions[data-v-7338587f]{width:40px}.post-detail-content[data-v-7338587f]{flex:1;overflow-y:auto;padding-bottom:80px}.loading-state[data-v-7338587f],.error-state[data-v-7338587f]{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-7338587f]{margin-top:16px;padding:8px 16px;background:var(--accent);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer}.main-post[data-v-7338587f]{margin:12px}.comments-section[data-v-7338587f]{margin:0 12px 12px}.comments-header[data-v-7338587f]{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-7338587f]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.comment-count[data-v-7338587f]{background:var(--bg-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.loading-comments[data-v-7338587f]{text-align:center;color:var(--text-secondary);padding:20px}.no-comments[data-v-7338587f]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:var(--text-secondary);text-align:center}.comment-item[data-v-7338587f],.reply-item[data-v-7338587f]{margin-bottom:16px;padding:12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.reply-item[data-v-7338587f]{margin-left:20px;margin-top:12px;background:var(--bg-secondary)}.comment-header[data-v-7338587f],.reply-header[data-v-7338587f]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comment-author[data-v-7338587f],.reply-author[data-v-7338587f]{display:flex;align-items:center;gap:8px}.comment-avatar[data-v-7338587f],.reply-avatar[data-v-7338587f]{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-7338587f]{width:28px;height:28px;font-size:.6rem}.comment-author-info[data-v-7338587f],.reply-author-info[data-v-7338587f]{display:flex;flex-direction:column;gap:2px}.comment-author-name[data-v-7338587f],.reply-author-name[data-v-7338587f]{font-weight:600;font-size:.85rem;color:var(--text-primary)}.comment-time[data-v-7338587f],.reply-time[data-v-7338587f]{font-size:.75rem;color:var(--text-secondary)}.comment-content[data-v-7338587f],.reply-content[data-v-7338587f]{font-size:.9rem;line-height:1.4;color:var(--text-primary);margin-bottom:8px}.comment-actions[data-v-7338587f],.reply-actions[data-v-7338587f]{display:flex;gap:12px}.comment-action[data-v-7338587f],.reply-action[data-v-7338587f]{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-7338587f]:active,.reply-action[data-v-7338587f]:active{background:var(--bg-secondary)!important;transform:scale(.98)}@media(hover:hover)and (pointer:fine){.comment-action[data-v-7338587f]:hover,.reply-action[data-v-7338587f]:hover{background:var(--bg-secondary)}}.comment-action.liked[data-v-7338587f],.reply-action.liked[data-v-7338587f]{color:#f44!important}.replies[data-v-7338587f]{margin-top:12px}.comment-input-container[data-v-7338587f]{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-7338587f]{display:flex;align-items:center;gap:8px}.comment-input[data-v-7338587f]{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-7338587f]:focus{outline:none;border-color:var(--accent)}.send-button[data-v-7338587f]{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-7338587f]:hover{opacity:.9}body.keyboard-open{padding-bottom:12px}@supports (height: 100dvh){.post-detail-container[data-v-7338587f]{height:100dvh}}body.keyboard-open{height:calc(var(--viewport-height, 100vh) - 140px)}.conversation-list[data-v-1b5dffb8]{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.list-header[data-v-1b5dffb8]{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-1b5dffb8]{font-family:var(--font-display);font-size:20px;font-weight:300;margin:0;color:var(--text-primary)}.new-message-button[data-v-1b5dffb8]{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[data-v-1b5dffb8]:hover{transform:scale(1.1)}.new-message-button svg[data-v-1b5dffb8]{width:20px;height:20px}.conversations-container[data-v-1b5dffb8]{flex:1;overflow-y:auto}.loading-text[data-v-1b5dffb8]{padding:2rem;text-align:center;color:var(--text-secondary)}.empty-state[data-v-1b5dffb8],.empty-text[data-v-1b5dffb8]{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-1b5dffb8]:first-child{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.empty-state p[data-v-1b5dffb8]:last-child{font-size:.9rem}.conversations[data-v-1b5dffb8]{display:flex;flex-direction:column}.conversation-item[data-v-1b5dffb8]{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}.conversation-item[data-v-1b5dffb8]:hover{background:var(--bg-secondary)}.conversation-avatar[data-v-1b5dffb8]{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}.avatar-image[data-v-1b5dffb8]{width:100%;height:100%;object-fit:cover}.avatar-initial[data-v-1b5dffb8]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.conversation-content[data-v-1b5dffb8]{flex:1;min-width:0}.conversation-header[data-v-1b5dffb8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.conversation-name[data-v-1b5dffb8]{font-weight:600;font-size:.95rem;color:var(--text-primary)}.conversation-time[data-v-1b5dffb8]{font-size:.75rem;color:var(--text-secondary)}.conversation-preview[data-v-1b5dffb8]{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge[data-v-1b5dffb8]{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-e62f6ce8]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;animation:fadeIn-e62f6ce8 .2s ease-in}@keyframes fadeIn-e62f6ce8{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble.own-message[data-v-e62f6ce8]{justify-content:flex-end}.message-content-wrapper[data-v-e62f6ce8]{position:relative;max-width:70%}.message-content[data-v-e62f6ce8]{padding:.5rem .75rem;border-radius:1rem;background:var(--bg-secondary);border:1px solid var(--border)}.own-message .message-content[data-v-e62f6ce8]{background:var(--accent);color:#fff;border:none}.message-text[data-v-e62f6ce8]{font-size:.95rem;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.own-message .message-text[data-v-e62f6ce8]{color:#fff}.message-time[data-v-e62f6ce8]{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.own-message .message-time[data-v-e62f6ce8]{color:#ffffffb3}.edited-indicator[data-v-e62f6ce8]{font-size:inherit;color:inherit;opacity:.8;margin-right:.25rem}.message-status[data-v-e62f6ce8]{display:inline-flex;align-items:center}.message-status.status-default[data-v-e62f6ce8]{color:#ffffff80}.message-status.status-read[data-v-e62f6ce8]{color:#ffffffe6}.star-icon[data-v-e62f6ce8]{margin-right:.15rem;flex-shrink:0;vertical-align:middle;display:inline-block}.double-tick[data-v-e62f6ce8]{position:relative}.reply-preview[data-v-e62f6ce8]{display:flex;gap:.5rem;margin-bottom:.5rem;padding:.5rem;border-radius:.5rem;background:#0000001a}.own-message .reply-preview[data-v-e62f6ce8]{background:#0003}.reply-line[data-v-e62f6ce8]{width:3px;background:var(--accent);border-radius:2px;flex-shrink:0}.reply-content[data-v-e62f6ce8]{flex:1;min-width:0}.reply-sender[data-v-e62f6ce8]{font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:.125rem}.own-message .reply-sender[data-v-e62f6ce8]{color:#ffffffe6}.reply-text[data-v-e62f6ce8]{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.own-message .reply-text[data-v-e62f6ce8]{color:#ffffffb3}.message-actions[data-v-e62f6ce8]{display:flex;flex-direction:row;gap:.25rem;opacity:.6;transition:opacity .2s ease;align-items:flex-start;flex-shrink:0}.message-bubble:hover .message-actions[data-v-e62f6ce8]{opacity:1}.action-button[data-v-e62f6ce8]{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}.action-button[data-v-e62f6ce8]:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent);transform:scale(1.1)}.reactions-container[data-v-e62f6ce8]{position:absolute;bottom:-8px;left:8px;display:flex;flex-wrap:wrap;gap:.25rem;max-width:calc(100% - 16px)}.reaction-chip[data-v-e62f6ce8]{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[data-v-e62f6ce8]:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:scale(1.05)}.reaction-chip.own-reaction[data-v-e62f6ce8]{background:var(--accent);border-color:var(--accent);color:#fff}.own-message .reaction-chip[data-v-e62f6ce8]{background:#ffffffe6;border-color:#fff;color:var(--text-primary)}.own-message .reaction-chip[data-v-e62f6ce8]:hover{background:#fff;border-color:#fff;transform:scale(1.05)}.own-message .reaction-chip.own-reaction[data-v-e62f6ce8]{background:#fff;border-color:#fff;font-weight:600}.reaction-emoji[data-v-e62f6ce8]{font-size:.85rem;line-height:1}.reaction-count[data-v-e62f6ce8]{font-size:.65rem;font-weight:600;line-height:1}.message-input-wrapper[data-v-031ede91]{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-031ede91]{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-031ede91]{flex:1;min-width:0}.reply-preview-header[data-v-031ede91]{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.reply-icon[data-v-031ede91]{font-size:.9rem}.edit-icon[data-v-031ede91]{color:var(--accent)}.reply-label[data-v-031ede91]{font-size:.85rem;font-weight:600;color:var(--accent)}.reply-preview-text[data-v-031ede91]{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cancel-reply-button[data-v-031ede91]{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}.cancel-reply-button[data-v-031ede91]:hover{background:var(--bg-primary);color:var(--text-primary)}.message-input-container[data-v-031ede91]{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:flex-end}body.keyboard-open .message-input-container[data-v-031ede91]{padding-bottom:.75rem}.message-input[data-v-031ede91]{flex:1;padding:.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:42px;max-height:120px;line-height:1.4}.message-input[data-v-031ede91]:focus{border-color:var(--accent)}.message-input[data-v-031ede91]::placeholder{color:var(--text-secondary)}.send-button[data-v-031ede91]{width:42px;height:42px;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-031ede91]:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 8px #0003}.send-button[data-v-031ede91]:disabled{opacity:.5;cursor:not-allowed}.emoji-picker-overlay[data-v-440d5c44]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-440d5c44 .2s ease}@keyframes fadeIn-440d5c44{0%{opacity:0}to{opacity:1}}.emoji-picker[data-v-440d5c44]{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-440d5c44 .3s ease}@keyframes slideUp-440d5c44{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.emoji-picker-header[data-v-440d5c44]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.emoji-picker-header h3[data-v-440d5c44]{font-size:1.1rem;font-weight:600;margin:0}.close-button[data-v-440d5c44]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s ease}.close-button[data-v-440d5c44]:hover{background:var(--bg-primary);color:var(--text-primary)}.close-button svg[data-v-440d5c44]{width:20px;height:20px}.emoji-section[data-v-440d5c44]{margin-bottom:1rem}.emoji-section[data-v-440d5c44]:last-child{margin-bottom:0;flex:1;min-height:0;display:flex;flex-direction:column}.section-title[data-v-440d5c44]{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:.75rem;letter-spacing:.5px}.emoji-grid-scroll[data-v-440d5c44]{overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.emoji-grid[data-v-440d5c44]{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.emoji-grid.recent-grid[data-v-440d5c44]{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.emoji-button[data-v-440d5c44]{background:var(--bg-primary);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;font-size:1.5rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;min-height:48px}.emoji-button[data-v-440d5c44]:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:scale(1.05)}.emoji-button.selected[data-v-440d5c44]{background:var(--accent);border-color:var(--accent)}.emoji-button[data-v-440d5c44]:active{transform:scale(.95)}.message-focus-backdrop[data-v-03d49d0f]{position:fixed;inset:0;width:100vw;height:100vh;background:#0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:500;animation:blurFadeIn-03d49d0f .1s linear;will-change:backdrop-filter;cursor:pointer}@keyframes blurFadeIn-03d49d0f{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-1bb17b9c]{position:fixed;z-index:600;animation:slideUpFadeIn-1bb17b9c .2s ease-out}.emoji-bar-scroll[data-v-1bb17b9c]{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-1bb17b9c]::-webkit-scrollbar{display:none}.emoji-button[data-v-1bb17b9c]{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:24px;background:none;border:none;border-radius:12px;cursor:pointer;transition:background .15s ease;flex-shrink:0}.emoji-button[data-v-1bb17b9c]:hover{background:var(--bg-primary)}.emoji-button[data-v-1bb17b9c]:active{transform:scale(.95)}.emoji-plus[data-v-1bb17b9c]{color:var(--text-secondary)}@keyframes slideUpFadeIn-1bb17b9c{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.context-menu[data-v-10714535]{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-10714535 .15s ease-out}.context-menu-item[data-v-10714535]{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);cursor:pointer;transition:background .15s ease;text-align:left}.context-menu-item[data-v-10714535]:hover:not(.disabled){background:var(--bg-primary)}.context-menu-item[data-v-10714535]:active:not(.disabled){transform:scale(.98)}.context-menu-item.disabled[data-v-10714535]{opacity:.5;cursor:not-allowed}.context-menu-item svg[data-v-10714535]{flex-shrink:0;color:var(--accent)}.context-menu-item.disabled svg[data-v-10714535]{color:var(--text-secondary)}@keyframes dropdownFadeIn-10714535{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop[data-v-1577cc80]{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-1577cc80]{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-1577cc80]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--border)}.modal-header h3[data-v-1577cc80]{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.close-button[data-v-1577cc80]{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}.close-button[data-v-1577cc80]:hover{background:var(--bg-secondary)}.info-list[data-v-1577cc80]{padding:1rem 1.25rem 1.25rem}.info-item[data-v-1577cc80]{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--border)}.info-item[data-v-1577cc80]:last-child{border-bottom:none}.info-label[data-v-1577cc80]{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.info-value[data-v-1577cc80]{font-size:.875rem;color:var(--text-primary);text-align:right;max-width:60%;word-break:break-word}.modal-enter-active[data-v-1577cc80],.modal-leave-active[data-v-1577cc80]{transition:opacity .2s ease}.modal-enter-active .modal-content[data-v-1577cc80],.modal-leave-active .modal-content[data-v-1577cc80]{transition:transform .2s ease}.modal-enter-from[data-v-1577cc80],.modal-leave-to[data-v-1577cc80]{opacity:0}.modal-enter-from .modal-content[data-v-1577cc80],.modal-leave-to .modal-content[data-v-1577cc80]{transform:scale(.95)}.chat-window[data-v-3b99c86e]{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-3b99c86e]{flex:1;overflow-y:auto;padding:1rem;padding-bottom:calc(80px + env(safe-area-inset-bottom));min-height:0}.loading-state[data-v-3b99c86e],.empty-state[data-v-3b99c86e]{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-3b99c86e]:first-child{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.empty-state p[data-v-3b99c86e]:last-child{font-size:.9rem}.messages-list[data-v-3b99c86e]{display:flex;flex-direction:column}.date-separator[data-v-3b99c86e]{display:flex;justify-content:center;margin:1rem 0}.date-separator span[data-v-3b99c86e]{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-3b99c86e]{position:relative;z-index:600!important;display:flex;align-items:flex-start}.message-wrapper-focused.own-message-wrapper[data-v-3b99c86e]{right:16px;left:auto!important;justify-content:flex-end}.message-wrapper-focused .message-content-wrapper[data-v-3b99c86e]{max-width:70%!important;flex-shrink:0}.message-wrapper-focused[data-v-3b99c86e]:not(.own-message-wrapper):after{content:"";flex:1;min-width:30%;cursor:pointer}.message-ghost-placeholder[data-v-3b99c86e]{visibility:hidden;pointer-events:none}.header-action[data-v-1c105e60]{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-1c105e60]:hover{transform:scale(1.05)}.messages-screen[data-v-1c105e60]{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-1c105e60]: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-1c105e60]{padding:0;height:100%;max-width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.loading-container[data-v-1c105e60]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.screen[data-v-26f9ea35]{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-26f9ea35]{padding:0;height:100%;max-width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.search-header[data-v-26f9ea35]{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-26f9ea35]{font-size:1.25rem;font-weight:600;margin:0}.back-button[data-v-26f9ea35]{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}.back-button[data-v-26f9ea35]:hover{background:var(--bg-primary)}.search-input-container[data-v-26f9ea35]{padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.search-input[data-v-26f9ea35]{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-26f9ea35]:focus{border-color:var(--accent)}.results-container[data-v-26f9ea35]{flex:1;overflow-y:auto;min-height:0}.empty-state[data-v-26f9ea35],.loading-state[data-v-26f9ea35]{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary);text-align:center}.user-list[data-v-26f9ea35]{display:flex;flex-direction:column}.user-item[data-v-26f9ea35]{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-item[data-v-26f9ea35]:hover{background:var(--bg-secondary)}.user-avatar[data-v-26f9ea35]{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-26f9ea35]{flex:1;min-width:0}.user-name[data-v-26f9ea35]{font-weight:600;font-size:.95rem;color:var(--text-primary)}.user-email[data-v-26f9ea35]{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-history-screen[data-v-4eb02121]{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-4eb02121]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-4eb02121]{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-4eb02121]{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-4eb02121]{width:32px;flex-shrink:0}.back-button[data-v-4eb02121]{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[data-v-4eb02121]:hover{background:var(--bg-secondary)}.back-button svg[data-v-4eb02121]{width:24px;height:24px}.versions-list[data-v-4eb02121]{display:flex;flex-direction:column;gap:12px;padding:16px;overflow-y:auto;flex:1}.version-card[data-v-4eb02121]{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-4eb02121]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem;flex-wrap:wrap}.version-card h2[data-v-4eb02121]{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.version-date[data-v-4eb02121]{font-size:.8rem;color:var(--text-secondary);font-weight:500}.version-description[data-v-4eb02121]{margin:0 0 .75rem;color:var(--text-primary);line-height:1.5}.version-highlights[data-v-4eb02121]{margin:0;padding-left:1.25rem;list-style-type:disc}.version-highlights li[data-v-4eb02121]{margin:.5rem 0;color:var(--text-secondary);line-height:1.5}.version-highlights li[data-v-4eb02121]:first-child{margin-top:0}.version-highlights li[data-v-4eb02121]:last-child{margin-bottom:0}
