*{margin:0;padding:0;box-sizing:border-box}@property --glass-glow-alpha{syntax: "<number>"; inherits: true; initial-value: 0;}:root{--primary-color: #5c67f2;--secondary-color: #f2b705;--danger-color: #ff5757;--success-color: #4caf50;--text-primary: #1a1a1a;--text-secondary: #666;--bg-light: #f5f5f5;--bg-white: #ffffff;--bg-secondary: #f9fafb;--border-color: #ddd;--hover-bg: #e8e8e8;--input-bg: #ffffff;--input-border: #bbb;--pinned-bg: #fff9e6;--color-primary: var(--primary-color);--light-x: .3;--light-y: .25;--glass-glow-alpha: 0;--glass-bg-base: rgba(255, 255, 255, .62);--glass-bg-secondary-base: rgba(255, 255, 255, .4);--glass-glow: radial-gradient( circle at calc(var(--light-x) * 100%) calc(var(--light-y) * 100%), rgba(255, 255, 255, calc(.32 * var(--glass-glow-alpha))) 0%, transparent 60% );--glass-bg: var(--glass-glow), var(--glass-bg-base);--glass-bg-secondary: var(--glass-glow), var(--glass-bg-secondary-base);--glass-border: rgba(255, 255, 255, .58);--glass-shadow: 0 8px 32px rgba(60, 80, 160, .1);--glass-specular: inset 0 1px 0 rgba(255, 255, 255, .75);--glass-radius: 18px;--app-bg: linear-gradient(135deg, #d8e2ff 0%, #ece4ff 35%, #dff0ff 70%, #d4f0e6 100%)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--app-bg);background-attachment:fixed;color:var(--text-primary);overflow:hidden}.app{height:100vh;display:flex;flex-direction:column}.header{position:relative;z-index:50;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--glass-border);padding:1rem;box-shadow:var(--glass-shadow),var(--glass-specular)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.date-section{display:flex;align-items:center;gap:.5rem;min-width:200px}.calendar-icon{font-size:1.5rem}.date{font-size:.9rem;font-weight:500;color:var(--text-primary)}.time-section{text-align:right;min-width:100px}.time{font-size:1.2rem;font-weight:600;color:var(--primary-color)}.tabs{display:flex;flex:1;justify-content:center;align-items:center}.tabs-pill{display:flex;align-items:center;gap:0;padding:4px;background:#ffffff4d;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.62);border-radius:100px;box-shadow:0 4px 20px #3c50a01a,inset 0 1px #ffffffd9}.mobile-tab-select{display:none;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;background:var(--bg-white);color:var(--text-primary);cursor:pointer}.tab{display:flex;align-items:center;gap:.3rem;padding:.45rem 1rem;border-radius:100px;background:transparent;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:color .2s,background .2s,box-shadow .2s;white-space:nowrap;box-shadow:none}.tab:before{display:none}.tab:hover{background:#ffffff61;color:var(--text-primary);border-color:transparent}.tab.active{background:#ffffffc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--primary-color);font-weight:600;box-shadow:0 2px 8px #0000001a,inset 0 1px #fffffff2}.tab-container{flex:1;overflow:auto}.tab-content{padding:2rem;max-width:1200px;margin:0 auto}.main-tab{height:100%;display:flex;flex-direction:column}.main-layout{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1rem;padding:1rem;flex:1;overflow:hidden}.left-sidebar{display:flex;flex-direction:column;gap:1rem;min-width:280px;height:100%;overflow:hidden}.schedule-section,.photo-section{min-height:0}.schedule-section{flex:2;display:flex;flex-direction:column;overflow:hidden}.photo-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.schedule-section h2,.photo-section h2{font-size:1.1rem;margin-bottom:1rem;color:var(--text-primary);flex-shrink:0}.schedule-list{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.schedule-item{display:flex;gap:1rem;padding:.5rem;font-size:.85rem;flex-shrink:0}.schedule-time{font-weight:600;color:var(--primary-color);min-width:70px}.schedule-event{color:var(--text-secondary)}.schedule-item-birthday .schedule-event{color:#e91e8c;font-weight:600}.snack-section{background:var(--glass-bg);border-radius:var(--glass-radius);border:1px solid var(--glass-border);padding:1rem;box-shadow:var(--glass-shadow),var(--glass-specular);flex-shrink:0}.snack-section h2{font-size:1.1rem;margin-bottom:.75rem;color:var(--text-primary)}.snack-chips{display:flex;flex-wrap:wrap;gap:.4rem}.snack-chip{display:inline-block;padding:.25rem .65rem;background:#e8f5e9;color:#2e7d32;border-radius:999px;font-size:.8rem;font-weight:500;white-space:nowrap}.form-group-check{flex-direction:row;align-items:center}.check-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.check-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.photo-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}.photo{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--glass-radius);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-specular)}.photo-indicator{font-size:.85rem;color:var(--text-secondary);flex-shrink:0}.main-content{display:flex;flex-direction:column;overflow:hidden}.chore-list-container{background:var(--glass-bg);border-radius:var(--glass-radius);border:1px solid var(--glass-border);padding:1.5rem;box-shadow:var(--glass-shadow),var(--glass-specular);display:flex;flex-direction:column;height:100%;overflow:hidden}.chore-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.chore-header h2{font-size:1.3rem;flex:1}.chore-filter-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.filter-chip{padding:.25rem .7rem;border-radius:16px;border:1.5px solid var(--border-color);background:var(--bg-white);font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.filter-chip:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-chip.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.chore-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem}.person-chores{display:flex;flex-direction:column;gap:.5rem;border-radius:10px;transition:background .15s}.person-chores--drag-active{min-height:64px;padding:.5rem;border-radius:10px;border:2px dashed var(--border-color);transition:background .15s,border-color .15s}.person-chores--chore-drop-target{background:color-mix(in srgb,var(--primary-color) 12%,transparent)!important;border-color:var(--primary-color)!important;outline:none}.person-chores--person-drag-active{padding:.5rem;border-radius:10px;border:2px dashed var(--border-color);transition:background .15s,border-color .15s}.person-chores--person-drop-target{background:color-mix(in srgb,var(--secondary-color) 15%,transparent)!important;border:2px dashed var(--secondary-color)!important;border-radius:10px;padding:.5rem}.person-chores--being-dragged{opacity:.3;transition:opacity .15s}.chore-person-drag-handle{cursor:grab;color:var(--text-secondary);margin-right:.4rem;font-size:1rem;-webkit-user-select:none;user-select:none;opacity:.5}.chore-person-drag-handle:hover{opacity:1}.chore-item--draggable{cursor:grab}.chore-item--draggable:active{cursor:grabbing}.person-name{font-size:1rem;font-weight:600;color:var(--primary-color);margin-bottom:.5rem;display:flex;align-items:center}.person-name--draggable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.person-name--draggable:active{cursor:grabbing}.chore-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:10px;background:var(--glass-bg-secondary);border:1px solid var(--glass-border);transition:all .2s,--glass-glow-alpha .15s ease}.chore-item:hover{background:var(--hover-bg)}.chore-item.completed{opacity:.6}.chore-item.completed .chore-title{text-decoration:line-through;color:var(--text-secondary)}.chore-item.chore-overdue{background:radial-gradient(circle at calc(var(--light-x, .3) * 100%) calc(var(--light-y, .25) * 100%),rgba(255,255,255,calc(.5 * var(--glass-glow-alpha, 0))) 0%,transparent 55%),linear-gradient(160deg,#ffffff4d,#ff57572e 35%,#ff57571a);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,120,120,.45);box-shadow:inset 0 1px #ffffffbf,inset 0 -1px #ff575726,0 4px 16px #ff575726}.chore-checkbox-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:11px;margin:-11px;background:none;border:none;cursor:pointer;border-radius:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chore-checkbox-btn:active:not(:disabled){background:#0000000f}.chore-checkbox-box{display:block;width:22px;height:22px;border:2px solid var(--input-border);border-radius:4px;background:var(--input-bg);position:relative;transition:background .12s,border-color .12s;flex-shrink:0}.chore-checkbox-btn.is-checked .chore-checkbox-box{background:var(--primary-color);border-color:var(--primary-color)}.chore-checkbox-btn.is-checked .chore-checkbox-box:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.chore-checkbox-btn.is-pending{cursor:default}.chore-checkbox-btn.is-pending .chore-checkbox-box{border-color:var(--input-border);background:var(--hover-bg);opacity:.7}.chore-title{flex:1;font-weight:500}.chore-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.chore-item:hover .chore-actions{opacity:1}.chore-action-btn{background:none;border:none;cursor:pointer;padding:.2rem .35rem;border-radius:4px;font-size:.85rem;line-height:1;transition:background .15s}.chore-action-btn:hover{background:#00000014}.chore-action-delete:hover{background:#dc35451f}.chore-description{font-size:.85rem;color:var(--text-secondary);font-style:italic}.add-chore-btn,.add-notice-btn{display:none;align-self:flex-start;padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:1rem}.add-chore-btn:hover,.add-notice-btn:hover{background:#4a52d5}.new-chore-form,.new-notice-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--bg-light);border-radius:4px;margin-top:1rem}.new-chore-form input,.new-chore-form select,.new-notice-form input,.new-notice-form select,.new-notice-form textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;font-family:inherit}.new-chore-form button,.new-notice-form button{padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.new-chore-form button:last-child,.new-notice-form button:last-child{background:var(--text-secondary)}.right-sidebar{display:flex;flex-direction:column;gap:1rem;min-width:280px;overflow-y:auto}.weather-widget,.notice-board{background:var(--glass-bg);border-radius:var(--glass-radius);border:1px solid var(--glass-border);padding:1rem;box-shadow:var(--glass-shadow),var(--glass-specular)}.weather-widget{flex:0 0 auto}.notice-board{flex:1;display:flex;flex-direction:column;overflow:hidden}.weather-widget h2,.notice-board h2{font-size:1.1rem;margin-bottom:1rem}.weather-content{display:flex;align-items:center;gap:1rem}.weather-icon{font-size:2rem}.weather-info{display:flex;flex-direction:column;gap:.25rem}.temp{font-size:1.5rem;font-weight:600}.condition{font-size:.9rem;color:var(--text-secondary)}.weather-hilo{font-size:.85rem;color:var(--text-secondary)}.weather-sun{font-size:.82rem;color:var(--text-secondary)}.weather-aqi-alert{margin-top:.6rem;padding:.4rem .6rem;border-radius:6px;font-size:.8rem;font-weight:500}.aqi-sensitive{background:#fff3cd;color:#7a5a00;border-left:3px solid #f0a500}.aqi-unhealthy{background:#fde8e8;color:#7a1f1f;border-left:3px solid #e53e3e}.aqi-very-unhealthy{background:#f3e6f7;color:#5a1f7a;border-left:3px solid #9c27b0}.countdown-widgets{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.85rem}.countdown-widget{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;background:radial-gradient(circle at calc(var(--light-x, .3) * 100%) calc(var(--light-y, .25) * 100%),rgba(255,255,255,calc(.45 * var(--glass-glow-alpha, 0))) 0%,transparent 60%),linear-gradient(135deg,var(--primary-color, #6366f1) 0%,color-mix(in srgb,var(--primary-color, #6366f1) 70%,#ec4899) 100%);border-radius:12px;color:#fff;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #0000001f,0 2px 8px #0000002e}.countdown-emoji{font-size:1.6rem;line-height:1;flex-shrink:0}.countdown-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.countdown-number{font-size:1.55rem;font-weight:800;line-height:1;letter-spacing:-.02em}.countdown-label{font-size:.78rem;font-weight:600;opacity:.9;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.special-dates-list{display:flex;flex-direction:column;gap:.5rem}.special-date-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--bg-secondary, #f9fafb);border-radius:8px}.special-date-emoji{font-size:1.4rem;flex-shrink:0;width:2rem;text-align:center}.special-date-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.special-date-title{font-weight:600;font-size:.95rem}.special-date-meta{font-size:.78rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.special-date-badge{background:var(--primary-color, #6366f1);color:#fff;font-size:.7rem;font-weight:600;padding:1px 7px;border-radius:999px}.special-date-actions{display:flex;gap:.4rem;flex-shrink:0}.notices{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.notice-item{padding:.75rem;background:var(--bg-light);border-radius:4px;border-left:3px solid var(--primary-color)}.notice-item.pinned{background:var(--pinned-bg);border-left-color:var(--secondary-color)}.notice-item--admin-only{border-left-color:#dc2626;opacity:.92}.notice-admin-badge{font-size:.72rem;padding:.1rem .45rem;border-radius:999px;font-weight:600;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.25);flex-shrink:0}.notice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.notice-author{font-weight:600;font-size:.9rem}.notice-actions{display:flex;gap:.25rem;align-items:center}.pin-btn{background:transparent;border:none;cursor:pointer;font-size:1rem;opacity:.35;transition:opacity .15s;padding:0;line-height:1}.pin-btn.pinned{opacity:1}.pin-btn:hover{opacity:.8}.delete-btn{background:transparent;border:none;color:var(--danger-color);cursor:pointer;font-size:1rem}.notice-content{font-size:.9rem;margin-bottom:.5rem;color:var(--text-primary);line-height:1.5}.notice-content p{margin:0 0 .4rem}.notice-content p:last-child{margin-bottom:0}.notice-content strong{font-weight:700}.notice-content em{font-style:italic}.notice-content ul,.notice-content ol{padding-left:1.2rem;margin:.25rem 0}.notice-content li{margin-bottom:.1rem}.notice-content a{color:var(--primary-color)}.notice-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.35rem;gap:.5rem}.notice-time{font-size:.8rem;color:var(--text-secondary)}.notice-edited{font-size:.75rem;color:var(--text-secondary);font-style:italic}.notice-like-btn{background:transparent;border:1px solid var(--border-color);border-radius:999px;padding:.15rem .55rem;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;color:var(--text-secondary);transition:background .15s,border-color .15s,color .15s;line-height:1.4}.notice-like-btn:hover{background:var(--bg-light);border-color:var(--primary-color)}.notice-like-btn.liked{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.notice-like-count{font-weight:600}.notice-edit-btn{background:transparent;border:none;cursor:pointer;font-size:.95rem;opacity:.55;padding:0;line-height:1;transition:opacity .15s}.notice-edit-btn:hover{opacity:1}.poll-card{padding:.75rem;background:var(--bg-light);border-radius:4px;border-left:3px solid var(--primary-color)}.poll-card.pinned{background:var(--pinned-bg);border-left-color:var(--secondary-color)}.poll-question{font-size:.92rem;font-weight:600;margin:.4rem 0 .75rem;color:var(--text-primary);line-height:1.4}.poll-options{display:flex;flex-direction:column;gap:.45rem}.poll-option{display:flex;flex-direction:column;gap:.2rem}.poll-option--mine .poll-option-btn{border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.poll-option-btn{display:flex;align-items:center;justify-content:space-between;background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:.3rem .6rem;font-size:.85rem;cursor:pointer;text-align:left;color:var(--text-primary);transition:border-color .15s,background .15s}.poll-option-btn:not(:disabled):hover{border-color:var(--primary-color);background:var(--bg-white)}.poll-option-btn:disabled{cursor:default}.poll-option-text{flex:1}.poll-option-check{font-size:.8rem;color:var(--primary-color);margin-left:.4rem}.poll-bar-wrap{display:flex;align-items:center;gap:.4rem;height:6px}.poll-bar{height:100%;background:var(--primary-color);border-radius:3px;transition:width .3s ease;min-width:2px}.poll-bar-count{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.poll-meta{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;font-size:.78rem;color:var(--text-secondary)}.poll-closed-badge{background:var(--text-secondary);color:var(--bg-white);border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:600}.poll-close-btn{background:transparent;border:none;cursor:pointer;font-size:.95rem;opacity:.55;padding:0;line-height:1;transition:opacity .15s}.poll-close-btn:hover{opacity:1}.poll-breakdown{margin-top:.5rem;font-size:.8rem}.poll-breakdown-toggle{cursor:pointer;color:var(--text-secondary);font-size:.78rem}.poll-breakdown-list{display:flex;flex-direction:column;gap:.2rem;margin-top:.35rem;padding-left:.5rem}.poll-breakdown-row{display:flex;gap:.35rem}.poll-breakdown-option{font-weight:600;color:var(--text-primary)}.poll-breakdown-voters{color:var(--text-secondary)}.poll-edit-form{display:flex;flex-direction:column;gap:.6rem;margin:.5rem 0}.poll-option-row{display:flex;gap:.4rem;align-items:center}.poll-option-row input{flex:1}.poll-remove-opt{background:transparent;border:none;color:var(--danger-color);cursor:pointer;font-size:.9rem;padding:0 .2rem;flex-shrink:0}.poll-add-opt{align-self:flex-start;font-size:.82rem;margin-top:.15rem}.poll-voters-list{display:flex;flex-direction:column;gap:.4rem}.poll-voter-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.footer{background:var(--bg-white);border-top:1px solid var(--border-color);padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;box-shadow:0 -2px 4px #0000001a}.verse-section{flex:1}.verse{font-size:.85rem;color:var(--text-secondary);font-style:italic;line-height:1.4}.fab-menu{position:relative}.fab-toggle{position:relative;width:60px;height:60px;border-radius:50%;background:#5c67f28c;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#fff;border:1px solid rgba(255,255,255,.35);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #5c67f259,inset 0 1px #fff6;transition:all .2s,--glass-glow-alpha .15s ease;overflow:hidden}.fab-toggle:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at calc(var(--light-x, .3) * 100%) calc(var(--light-y, .25) * 100%),rgba(255,255,255,calc(.65 * var(--glass-glow-alpha, 0))) 0%,rgba(255,255,255,calc(.15 * var(--glass-glow-alpha, 0))) 45%,transparent 70%),linear-gradient(160deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.1) 40%,transparent 60%);pointer-events:none}.fab-toggle:hover{background:#5c67f2b8;box-shadow:0 6px 24px #5c67f273,inset 0 1px #fff6}.fab-options{position:absolute;bottom:70px;right:0;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow),var(--glass-specular);overflow:hidden;min-width:180px}.fab-option{display:block;width:100%;padding:1rem;border:none;background:transparent;text-align:left;cursor:pointer;font-size:.9rem;color:var(--text-primary);transition:background .2s;border-bottom:1px solid var(--glass-border)}.fab-option:last-child{border-bottom:none}.fab-option:hover{background:var(--glass-bg-secondary)}@media(max-width:1200px){.main-layout{grid-template-columns:1fr 1.5fr 1fr;padding:.75rem;gap:.75rem}.left-sidebar,.right-sidebar{min-width:200px}.calendar-icon{transform:scale(.8);transform-origin:left center}}.date-mobile,.mobile-subtab-nav{display:none}@media(max-width:768px){.date-desktop{display:none}.date-mobile{display:inline}.main-tab{height:auto;min-height:100%}.main-layout{grid-template-columns:1fr;gap:1rem;overflow:visible}.left-sidebar{height:auto;min-width:0;overflow:visible}.right-sidebar{min-width:0}.schedule-section{max-height:300px;overflow-y:auto}.photo-section{display:none}.add-chore-btn,.add-notice-btn{display:block}.notice-board{max-height:320px;overflow-y:auto}.calendar-icon{transform:scale(.65);transform-origin:left center}.header-content{flex-wrap:wrap}.tabs{display:none}.mobile-tab-select{display:block;order:3;width:100%}.date-section{order:1;min-width:auto}.time-section{display:none}.auth-section{order:2;margin-left:auto}.auth-dropdown{right:0;left:auto}.mobile-subtab-nav{display:flex;justify-content:center;padding:.5rem 1rem;flex-shrink:0;gap:0;background:#ffffff4d;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.62);border-radius:100px;margin:.5rem 1rem;box-shadow:0 4px 20px #3c50a01a,inset 0 1px #ffffffd9}.mobile-subtab-btn{flex:1;padding:.45rem 1rem;border:none;border-radius:100px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s,box-shadow .2s;white-space:nowrap;box-shadow:none}.mobile-subtab-btn:hover{background:#ffffff61;color:var(--text-primary)}.mobile-subtab-btn.active{background:#ffffffc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--primary-color);font-weight:600;box-shadow:0 2px 8px #0000001a,inset 0 1px #fffffff2}.mob-today .main-content,.mob-today .snack-section,.mob-today .notice-board{display:none}.mob-today .right-sidebar{order:-1}.mob-chores .left-sidebar,.mob-chores .right-sidebar,.mob-board .main-content,.mob-board .schedule-section,.mob-board .weather-widget{display:none}.mob-board .notice-board{max-height:none}}.settings{max-width:600px}.settings-save-row{display:flex;justify-content:center;margin-top:1rem}.settings-save-btn{min-width:140px}.settings-save-btn:disabled{background:var(--border-color);color:var(--text-secondary);cursor:not-allowed}.calendar-list{display:flex;flex-direction:column;gap:.5rem}.calendar-toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.95rem;padding:.4rem 0}.calendar-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.calendar-color-picker{width:28px;height:22px;border:1px solid var(--border-color);border-radius:4px;padding:1px;cursor:pointer;flex-shrink:0;background:none}.calendar-admin-only-btn{margin-left:auto;background:none;border:none;cursor:pointer;font-size:1rem;padding:0 4px;opacity:.4;line-height:1}.calendar-admin-only-btn.active{opacity:1}.settings-section{margin-bottom:2rem}.settings-section h2{font-size:1.1rem;margin-bottom:1rem;color:var(--primary-color)}.setting-item{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.setting-item label{font-weight:500;color:var(--text-primary)}.setting-item input,.setting-item select{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background:var(--input-bg);color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000047;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000}.modal{position:relative;background:var(--glass-bg);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border-radius:22px;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-specular),0 20px 60px #0000002e;width:min(480px,92vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.modal-close{background:transparent;border:none;font-size:1.1rem;color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;border-radius:4px;line-height:1}.modal-close:hover{color:var(--danger-color);background:var(--bg-light)}.modal-body{padding:1.5rem;overflow-y:auto}.modal-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;font-family:inherit;color:var(--text-primary);background:var(--bg-white);transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5c67f21f}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.btn-primary{flex:1;padding:.7rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#4a52d5}.btn-secondary{flex:1;padding:.7rem 1rem;background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:#e0e0e0}.chore-recurrence{font-size:.75rem;color:var(--text-secondary);background:var(--bg-light);border-radius:10px;padding:.1rem .5rem;margin-left:.5rem}.chore-due-date{font-size:.75rem;color:var(--text-secondary);margin-left:.4rem}.chore-due-overdue{color:var(--danger-color);font-weight:600}.chore-seasons{font-size:.75rem;color:var(--text-secondary);background:var(--bg-light);border-radius:10px;padding:.1rem .5rem;margin-left:.5rem}.chore-shared-badge{font-size:.75rem;color:var(--text-secondary);margin-left:.4rem}.chore-admin-badge{font-size:.72rem;color:var(--text-secondary);opacity:.7;margin-left:.4rem}.chore-multi-select{width:100%;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-white);color:var(--text-primary);padding:.2rem 0;font-size:.9rem;cursor:pointer}.chore-multi-select option{padding:.3rem .6rem}.chore-select-hint{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.chore-check-label{display:flex;align-items:center;gap:.35rem;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.chore-check-label input[type=radio]{width:1rem;height:1rem;cursor:pointer}.chore-assignment-mode{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem;padding:.5rem .75rem;background:var(--bg-light);border-radius:8px;border:1px solid var(--border-color)}.calendar-tab{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--glass-bg);border-radius:var(--glass-radius);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-specular)}.calendar-toolbar{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid var(--glass-border);flex-shrink:0;background:transparent}.cal-nav-btn{padding:.3rem .7rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-white);color:var(--text-primary);cursor:pointer;font-size:1.1rem;line-height:1}.cal-nav-btn:hover{background:var(--bg-light)}.cal-today-btn{padding:.3rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-white);color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500}.cal-today-btn:hover{background:var(--bg-light)}.calendar-period-label{font-weight:600;font-size:1rem;color:var(--text-primary);flex:1;margin-left:.25rem}.calendar-loading-indicator{font-size:.8rem;color:var(--text-secondary)}.view-switcher{display:flex;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.view-switcher button{padding:.3rem .75rem;border:none;background:var(--bg-white);color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500}.view-switcher button:hover{background:var(--bg-light)}.view-switcher button.active{background:var(--primary-color);color:#fff}.week-view{display:flex;flex-direction:column;flex:1;overflow:hidden}.week-header{display:flex;border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--bg-white)}.week-header-gutter{width:52px;flex-shrink:0}.week-header-day{flex:1;display:flex;flex-direction:column;align-items:center;padding:.4rem 0;border-left:1px solid var(--border-color);gap:2px}.week-header-dow{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.week-header-date{font-size:1.1rem;font-weight:500;color:var(--text-primary);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.week-header-day.today .week-header-dow{color:var(--primary-color)}.week-header-day.today .week-header-date{background:var(--primary-color);color:#fff;font-weight:700}.week-allday-row{display:flex;border-bottom:2px solid var(--border-color);flex-shrink:0;min-height:24px;background:var(--bg-white)}.week-allday-gutter{width:52px;flex-shrink:0;font-size:.62rem;color:var(--text-secondary);padding:4px 4px 0 0;text-align:right;align-self:flex-start}.week-allday-col{flex:1;border-left:1px solid var(--border-color);padding:2px;display:flex;flex-direction:column;gap:2px}.week-allday-pill{font-size:.7rem;color:#fff;border-radius:3px;padding:1px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-meal-pill{background-color:#8b5e3c!important;opacity:.9}.birthday-pill{background-color:#f06292!important;color:#fff!important;font-weight:600}.week-grid-scroll{flex:1;overflow-y:auto}.week-grid-inner{display:flex;height:1440px;position:relative}.week-time-gutter{width:52px;flex-shrink:0;position:relative}.week-hour-label{position:absolute;right:6px;font-size:.62rem;color:var(--text-secondary);line-height:1;transform:translateY(-50%);white-space:nowrap}.week-day-col{flex:1;position:relative;border-left:1px solid var(--border-color)}.week-day-col.today{background:#f5f6ff}.week-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--border-color);pointer-events:none}.week-half-hour-line{position:absolute;left:0;right:0;height:1px;background:#f0f0f0;pointer-events:none}.week-event-block{position:absolute;border-radius:4px;padding:2px 4px;font-size:.7rem;color:#fff;overflow:hidden;cursor:default;box-sizing:border-box}.week-event-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.week-event-time{font-size:.63rem;opacity:.88;line-height:1.3}.week-current-time-line{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:10;pointer-events:none}.week-current-time-dot{position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ef4444}.month-view{display:flex;flex-direction:column;flex:1;overflow:hidden}.month-dow-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--bg-white)}.month-dow-label{text-align:center;padding:.4rem 0;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);flex:1;overflow:hidden;border-left:1px solid var(--border-color);border-top:1px solid var(--border-color)}.month-cell{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:4px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.month-cell.other-month{background:#fafafa}.month-cell.other-month .month-day-number{color:var(--text-secondary);opacity:.5}.month-day-number{font-size:.8rem;font-weight:500;color:var(--text-primary);margin-bottom:2px;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;align-self:flex-start}.month-cell.today .month-day-number{background:var(--primary-color);color:#fff;font-weight:700}.month-event-pill{font-size:.68rem;color:#fff;border-radius:3px;padding:1px 5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;cursor:default;line-height:1.5}.month-meal-pill{background-color:#8b5e3c!important;opacity:.9}.month-more-link{font-size:.68rem;color:var(--text-secondary);padding:1px 2px;flex-shrink:0;cursor:default}.tab-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--danger-color);color:#fff;border-radius:100px;padding:0 .3rem;font-size:.6rem;font-weight:700;min-width:15px;height:15px;line-height:1}.fridge-tab{position:relative;height:100%;display:flex;flex-direction:column;padding:1rem;gap:.875rem;overflow:hidden}.fridge-fab{position:absolute;bottom:1.25rem;right:1.25rem;z-index:10}.fridge-top-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.fridge-location-tabs{display:flex;gap:.35rem;flex-wrap:wrap;flex:1}.fridge-location-tab{padding:.35rem .8rem;border:1px solid var(--border-color);background:var(--bg-white);border-radius:20px;cursor:pointer;font-size:.82rem;color:var(--text-secondary);white-space:nowrap;transition:all .15s}.fridge-location-tab:hover{border-color:var(--primary-color);color:var(--primary-color)}.fridge-location-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.fridge-shopping-toggle{display:flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border:1px solid var(--border-color);background:var(--bg-white);border-radius:6px;cursor:pointer;font-size:.82rem;color:var(--text-secondary);white-space:nowrap;transition:all .15s;flex-shrink:0}.fridge-shopping-toggle:hover{border-color:var(--primary-color);color:var(--primary-color)}.fridge-shopping-badge{background:var(--danger-color);color:#fff;border-radius:10px;padding:0 .4rem;font-size:.72rem;font-weight:700;min-width:16px;text-align:center}.fridge-quick-add{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;flex-shrink:0}.fridge-quick-add-chip{padding:.28rem .7rem;border:1px dashed var(--border-color);background:transparent;border-radius:20px;cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:all .15s}.fridge-quick-add-chip:hover{border-color:var(--primary-color);color:var(--primary-color);background:#5c67f20d}.fridge-expiring-strip{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding:.25rem 0 .5rem;scrollbar-width:none;flex-shrink:0}.fridge-expiring-strip::-webkit-scrollbar{display:none}.fridge-expiring-strip-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.fridge-expiring-chip{display:flex;align-items:center;gap:.3rem;background:var(--bg-white);border:1.5px solid var(--danger-color);border-radius:20px;padding:.25rem .6rem;font-size:.75rem;white-space:nowrap;flex-shrink:0}.fridge-expiring-chip.expiry-soon{border-color:var(--secondary-color)}.fridge-expiring-chip-name{font-weight:600}.fridge-expiring-chip-countdown{color:var(--danger-color);font-size:.7rem}.fridge-expiring-chip.expiry-soon .fridge-expiring-chip-countdown{color:#b45309}.fridge-card-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.75rem;align-content:start;padding-bottom:.5rem}.fridge-card{background:var(--bg-white);border-radius:10px;border-top:4px solid var(--border-color);box-shadow:0 1px 3px #00000012;padding:.7rem .75rem;display:flex;flex-direction:column;gap:.2rem;min-height:130px}.fridge-card.expiry-expired{border-top-color:var(--danger-color)}.fridge-card.expiry-soon{border-top-color:var(--secondary-color)}.fridge-card.expiry-ok{border-top-color:var(--success-color)}.fridge-card.expiry-none{border-top-color:var(--border-color)}.fridge-card-emoji{font-size:1.75rem;line-height:1;margin-bottom:.15rem}.fridge-card-name{font-weight:600;font-size:.875rem;color:var(--text-primary);line-height:1.25}.fridge-card-qty{font-size:.75rem;color:var(--text-secondary)}.fridge-card-loc{font-size:.68rem;color:var(--text-secondary);background:var(--bg-light);padding:.1rem .4rem;border-radius:10px;white-space:nowrap;align-self:flex-start;margin-top:.1rem}.fridge-card-expiry{font-size:.72rem;margin-top:auto;padding-top:.3rem}.fridge-expiry-text-expired{color:var(--danger-color);font-weight:600}.fridge-expiry-text-soon{color:#b45309;font-weight:500}.fridge-expiry-text-ok{color:#2e7d32}.fridge-expiry-text-none{color:var(--text-secondary)}.fridge-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.25rem;margin-top:.4rem}.fridge-status-pill{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:10px;letter-spacing:.04em;border:none;cursor:pointer;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fridge-status-pill.fridge-status-low{background:#fef3c7;color:#92400e}.fridge-status-pill.fridge-status-out{background:#fee2e2;color:#991b1b}.fridge-status-pill.fridge-status-ok{background:#dcfce7;color:#166534}.fridge-card-actions{display:flex;gap:.1rem}.fridge-item-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.fridge-item-quantity{font-size:.82rem;color:var(--text-secondary)}.fridge-status-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;padding:.12rem .4rem;border-radius:10px;letter-spacing:.04em;white-space:nowrap}.fridge-status-low{background:#fef3c7;color:#92400e}.fridge-status-out{background:#fee2e2;color:#991b1b}.fridge-status-ok{background:#dcfce7;color:#166534}.fridge-shopping-header{display:flex;align-items:center;gap:1rem;flex-shrink:0}.fridge-shopping-title{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.fridge-back-btn{padding:.35rem .8rem;border:1px solid var(--border-color);background:var(--bg-white);border-radius:6px;cursor:pointer;font-size:.82rem;color:var(--text-secondary);transition:all .15s;white-space:nowrap}.fridge-back-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.fridge-shopping-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.fridge-shopping-group{display:flex;flex-direction:column;gap:.35rem}.fridge-shopping-location{font-size:.78rem;font-weight:700;color:var(--primary-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.fridge-shopping-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;background:var(--bg-white);border-radius:6px;box-shadow:0 1px 2px #0000000f;gap:.75rem}.fridge-shopping-item-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;flex-wrap:wrap}.fridge-shopping-item-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.fridge-bought-btn{padding:.28rem .65rem;background:var(--success-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.78rem;font-weight:600;transition:background .15s;white-space:nowrap}.fridge-bought-btn:hover{background:#388e3c}.auth-section{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.auth-user{font-size:.85rem;color:var(--text-secondary);font-weight:500}.auth-login-btn{padding:.3rem .75rem;border-radius:6px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:background .15s}.auth-login-btn:hover{background:var(--hover-bg)}.auth-menu{position:relative}.auth-user-btn{padding:2px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;transition:opacity .15s}.auth-user-btn:hover{opacity:.8}.auth-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:14px;box-shadow:var(--glass-shadow),var(--glass-specular);min-width:160px;z-index:100;overflow:hidden}.auth-dropdown-item{display:block;width:100%;padding:.6rem 1rem;background:none;border:none;text-align:left;font-size:.85rem;color:var(--text-primary);cursor:pointer;transition:background .12s}.auth-dropdown-item:hover{background:var(--hover-bg)}.auth-dropdown-item--danger{color:var(--danger-color)}.auth-error{color:var(--danger-color);font-size:.85rem;margin:0 0 .5rem}.meal-tab{display:flex;flex-direction:column;gap:1rem;padding:1rem;height:100%;overflow:hidden}.meal-toolbar{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.meal-week-label{font-size:1rem;font-weight:600;color:var(--text-primary)}.meal-nav-btn{padding:.3rem .75rem;border-radius:6px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background .15s}.meal-nav-btn:hover{background:var(--hover-bg)}.meal-grid-wrapper{flex:1;overflow:auto;border-radius:8px;border:1px solid var(--border-color)}.meal-grid{width:100%;border-collapse:collapse;min-width:600px}.meal-grid th,.meal-grid td{border:1px solid var(--border-color);padding:.4rem;vertical-align:top}.meal-type-header{width:5rem;background:var(--sidebar-bg)}.meal-day-header{text-align:center;font-size:.8rem;font-weight:600;color:var(--text-secondary);background:var(--sidebar-bg);white-space:nowrap;padding:.4rem .5rem}.meal-day-header.meal-day-today{color:var(--primary-color);background:#fff8f8}.meal-type-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:var(--sidebar-bg);padding:.5rem .4rem}.meal-cell{min-width:100px;padding:.3rem}.meal-cell.meal-cell-today{background:#fff8f8}.meal-cell-drop-target{background:color-mix(in srgb,#3b82f6 12%,transparent)!important;outline:2px dashed #3b82f6;outline-offset:-2px;border-radius:4px}.meal-card-draggable{cursor:grab}.meal-card-draggable:active{cursor:grabbing}.meal-card{border-radius:6px;padding:.35rem .45rem;margin-bottom:.3rem;font-size:.8rem;position:relative}.meal-card-confirmed{background:#f0fdf4;border:1.5px solid #86efac}.meal-card-suggested{background:#fefce8;border:1.5px dashed #fbbf24}.meal-card-name{font-weight:600;color:var(--text-primary);line-height:1.3}.meal-card-notes{font-size:.75rem;color:var(--text-secondary);margin-top:.1rem}.meal-card-by{font-size:.72rem;color:var(--text-secondary);font-style:italic;margin-top:.1rem}.meal-card-actions{display:flex;gap:.2rem;margin-top:.3rem;flex-wrap:wrap}.meal-btn{padding:.15rem .35rem;border-radius:4px;border:1px solid transparent;font-size:.72rem;cursor:pointer;line-height:1}.meal-btn-confirm{background:#dcfce7;border-color:#86efac;color:#166534}.meal-btn-decline{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.meal-btn-edit,.meal-btn-delete{background:var(--card-bg);border-color:var(--border-color);color:var(--text-secondary)}.meal-add-cell-btn{width:100%;padding:.2rem;border:1px dashed var(--border-color);border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;opacity:.5;transition:opacity .15s;margin-top:.2rem}.meal-add-cell-btn:hover{opacity:1;background:var(--hover-bg)}.schedule-item-meal .schedule-time{color:#16a34a;font-weight:600}.settings-overlay{position:fixed;inset:0;z-index:300;background:var(--app-bg);background-attachment:fixed;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.settings-overlay.open{transform:translate(0)}.settings-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--glass-border);background:var(--glass-bg);flex-shrink:0}.settings-overlay-header h1{font-size:1.3rem;font-weight:700;margin:0}.settings-overlay-close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;border-radius:6px;line-height:1}.settings-overlay-close:hover{background:var(--bg-light);color:var(--text-primary)}.settings-overlay-body{flex:1;overflow-y:auto;padding:1.25rem;max-width:700px;width:100%;margin:0 auto}.avatar-upload-row{display:flex;align-items:center;gap:1.25rem;padding:.5rem 0}.avatar-upload-controls{display:flex;flex-direction:column;gap:.5rem}.person-avatar-img{border-radius:50%;object-fit:cover;flex-shrink:0;display:block}.person-avatar-initials{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;line-height:1}.person-name-badge{display:inline-flex;align-items:center;gap:.4em}.zones-tab{overflow-y:auto}.zone-board-section,.zone-editor-section{margin-bottom:2rem}.zone-board-section h2,.zone-editor-section h2{font-size:1.1rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.zone-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.zone-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--glass-radius);padding:.9rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:var(--glass-shadow),var(--glass-specular);aspect-ratio:1 / 1;overflow:hidden}.zone-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.zone-card-name{font-weight:700;font-size:1rem}.zone-assign-btn{font-size:.75rem;padding:.25rem .6rem;border-radius:6px;border:1px solid var(--primary-color);background:none;color:var(--primary-color);cursor:pointer;white-space:nowrap;font-weight:600}.zone-assign-btn:hover{background:var(--primary-color);color:#fff}.zone-card-tasks{display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto;min-height:0}.zone-card-task{display:flex;flex-direction:column;font-size:.82rem;color:var(--text-primary)}.zone-card-no-tasks{font-size:.82rem;color:var(--text-secondary);font-style:italic}.zone-card-subtask-hint{font-size:.74rem;color:var(--text-secondary);margin-left:.5rem}.zone-card-avatars{display:flex;gap:.4rem;flex-wrap:wrap;padding-top:.25rem;border-top:1px solid var(--border-color)}.zone-card-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.zone-card-avatar-name{font-size:.65rem;color:var(--text-secondary);line-height:1}.zone-editor-list{display:flex;flex-direction:column;gap:.5rem}.zone-editor-item{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-white)}.zone-editor-item-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;gap:.5rem;background:var(--bg-light)}.zone-editor-name{background:none;border:none;font-weight:600;font-size:.95rem;cursor:pointer;text-align:left;display:flex;align-items:center;gap:.4rem;flex:1;color:var(--text-primary)}.zone-expand-caret{font-size:.7rem;color:var(--text-secondary)}.zone-editor-actions{display:flex;gap:.25rem;flex-shrink:0}.zone-task-list{padding:.5rem .9rem .75rem;display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--border-color)}.zone-task-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid #f0f0f0}.zone-task-item-info{display:flex;flex-direction:column;gap:2px;flex:1}.zone-task-name{font-size:.9rem;font-weight:500}.zone-task-subtasks{font-size:.78rem;color:var(--text-secondary)}.zone-task-item-actions{display:flex;gap:.25rem;flex-shrink:0}.zone-add-task-btn{background:none;border:1px dashed var(--border-color);border-radius:6px;padding:.35rem .75rem;font-size:.85rem;color:var(--primary-color);cursor:pointer;text-align:left;margin-top:.25rem}.zone-add-task-btn:hover{background:#f0f0ff}.zone-assign-hint{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.people-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.person-pick-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-white);cursor:pointer;font-size:.8rem;font-weight:500;color:var(--text-primary);transition:border-color .15s,background .15s}.person-pick-btn:hover{border-color:var(--primary-color);background:#f0f0ff}.person-pick-btn.selected{border-color:var(--primary-color);background:#ebebff;color:var(--primary-color)}.btn-sm{padding:.3rem .65rem;font-size:.82rem}.zone-card-avatar-inner{position:relative;display:inline-flex}.zone-avatar-remove-btn{position:absolute;top:-5px;right:-5px;width:16px;height:16px;border-radius:50%;background:var(--danger-color);color:#fff;border:none;cursor:pointer;font-size:.7rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s}.zone-card-avatar-wrap:hover .zone-avatar-remove-btn{opacity:1}.zone-assignments-strip{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--bg-white);border-bottom:1px solid var(--border-color);flex-shrink:0;flex-wrap:wrap}.zone-assignments-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-top:3px;white-space:nowrap}.zone-assignments-list{display:flex;flex-wrap:wrap;gap:.4rem;flex:1}.zone-assignment-chip{display:flex;align-items:center;gap:.35rem;background:var(--bg-light);border:1px solid var(--border-color);border-radius:20px;padding:.2rem .6rem .2rem .5rem}.zone-assignment-chip-name{font-size:.78rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.zone-assignment-chip-avatars{display:flex;gap:2px}.center-subtabs{display:flex;gap:0;border-bottom:2px solid var(--border-color);margin-bottom:1rem}.center-subtab{padding:.5rem 1.25rem;border:none;background:none;font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.center-subtab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.center-subtab:hover:not(.active){color:var(--text-primary)}.fm-agenda{display:flex;flex-direction:column;gap:1.25rem;padding:.5rem 0}.fm-agenda-empty{padding:2rem;text-align:center;color:var(--text-secondary)}.fm-agenda-section{display:flex;flex-direction:column;gap:.4rem}.fm-agenda-category{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.fm-agenda-list{list-style:none;display:flex;flex-direction:column;gap:.3rem}.fm-agenda-item{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .75rem;background:var(--bg-white);border-radius:8px;border:1px solid var(--border-color);transition:opacity .2s}.fm-agenda-item.discussed{opacity:.55}.fm-agenda-checkbox{background:none;border:2px solid var(--border-color);border-radius:50%;width:22px;height:22px;min-width:22px;display:flex;align-items:center;justify-content:center;font-size:.75rem;cursor:default;color:var(--text-secondary);transition:border-color .15s,background .15s,color .15s;padding:0}.fm-agenda-checkbox.admin{cursor:pointer}.fm-agenda-checkbox.admin:hover{border-color:var(--success-color);color:var(--success-color)}.fm-agenda-item.discussed .fm-agenda-checkbox{background:var(--success-color);border-color:var(--success-color);color:#fff}.fm-agenda-item-body{display:flex;flex-direction:column;gap:.15rem}.fm-agenda-item-title{font-size:.95rem;font-weight:600}.fm-agenda-item.discussed .fm-agenda-item-title{text-decoration:line-through;color:var(--text-secondary)}.fm-agenda-item-desc{font-size:.8rem;color:var(--text-secondary)}.fm-tab{display:flex;flex-direction:column;height:100%;overflow:hidden}.fm-topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-white);border-bottom:1px solid var(--border-color);flex-shrink:0;flex-wrap:wrap;gap:.75rem}.fm-title{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.fm-topbar-actions{display:flex;gap:.75rem;flex-wrap:wrap}.fm-mode-btn{padding:.5rem 1rem;border-radius:20px;border:2px solid var(--border-color);background:var(--bg-light);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.fm-mode-btn.active{border-color:var(--success-color);background:#f0fdf4;color:#16a34a}.fm-archive-btn{padding:.5rem 1rem;border-radius:20px;border:2px solid var(--border-color);background:var(--bg-light);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.fm-archive-btn:disabled{opacity:.4;cursor:not-allowed}.fm-archive-btn:not(:disabled):hover{border-color:var(--primary-color);color:var(--primary-color)}.fm-layout{display:flex;flex:1;overflow:hidden;gap:0}.fm-main{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.fm-section-header{display:flex;align-items:center;justify-content:space-between}.fm-section-header h2,.fm-suggestions-section h2{font-size:1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.fm-badge{background:var(--danger-color);color:#fff;border-radius:10px;padding:0 .4rem;font-size:.75rem;font-weight:700}.fm-add-btn{padding:.35rem .85rem;border-radius:16px;border:1.5px solid var(--primary-color);background:none;color:var(--primary-color);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.fm-add-btn:hover{background:var(--primary-color);color:#fff}.fm-input{padding:.5rem .75rem;border:1.5px solid var(--border-color);border-radius:8px;font-size:.9rem;background:var(--bg-white)}.fm-input:focus{outline:none;border-color:var(--primary-color)}.fm-select{padding:.45rem .75rem;border:1.5px solid var(--border-color);border-radius:8px;font-size:.9rem;background:var(--bg-white)}.fm-select.sm{padding:.3rem .5rem;font-size:.8rem}.btn-primary.sm,.btn-secondary.sm{padding:.3rem .7rem;font-size:.8rem}.fm-items-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.fm-item{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem .75rem;background:var(--bg-white);border:1.5px solid var(--border-color);border-radius:10px;transition:opacity .2s,border-color .15s;cursor:grab}.fm-item:active{cursor:grabbing}.fm-item.discussed{opacity:.6}.fm-item.is-placeholder{opacity:.25;background:#f0f4ff;border-style:dashed;border-color:var(--primary-color)}.fm-drag-handle{background:none;border:none;color:var(--border-color);font-size:1.1rem;cursor:grab;padding:2px 4px 0;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0}.fm-drag-handle.static{cursor:default}.fm-checkbox{background:none;border:2px solid var(--border-color);border-radius:50%;width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;color:var(--text-secondary);padding:0;transition:border-color .15s,background .15s,color .15s}.fm-checkbox.checked{background:var(--success-color);border-color:var(--success-color);color:#fff}.fm-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.fm-item-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.fm-category-badge{color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:10px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.fm-category-badge.sm{font-size:.62rem;padding:.1rem .4rem}.fm-item-title{font-size:.95rem;font-weight:600}.fm-item.discussed .fm-item-title{text-decoration:line-through;color:var(--text-secondary)}.fm-item-desc{font-size:.8rem;color:var(--text-secondary)}.fm-item-actions{display:flex;gap:.25rem;flex-shrink:0}.fm-action-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.2rem .3rem;border-radius:6px;opacity:.6;transition:opacity .15s,background .15s}.fm-action-btn:hover{opacity:1;background:var(--bg-light)}.fm-action-btn.danger:hover{background:#fee2e2}.fm-drag-ghost{position:fixed;z-index:1000;pointer-events:none;background:var(--bg-white);border:2px solid var(--primary-color);border-radius:10px;padding:.65rem .75rem;box-shadow:0 12px 40px #00000038;display:flex;align-items:flex-start;gap:.6rem;opacity:.96}.fm-suggestions-section{display:flex;flex-direction:column;gap:.75rem}.fm-suggestions-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.fm-suggestion{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#fffbeb;border:1.5px solid #fde68a;border-radius:10px}.fm-suggestion-body{display:flex;gap:.4rem;flex-wrap:wrap}.fm-suggestion-author{font-weight:700;font-size:.9rem}.fm-suggestion-content{font-size:.9rem;color:var(--text-primary)}.fm-suggestion-actions{display:flex;gap:.5rem}.fm-approve-btn{padding:.3rem .75rem;border-radius:8px;border:1.5px solid var(--success-color);background:none;color:#16a34a;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.fm-approve-btn:hover{background:#f0fdf4}.fm-reject-btn{padding:.3rem .75rem;border-radius:8px;border:1.5px solid var(--danger-color);background:none;color:var(--danger-color);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.fm-reject-btn:hover{background:#fee2e2}.fm-archives-sidebar{width:260px;min-width:220px;border-left:1px solid var(--border-color);background:var(--bg-white);overflow-y:auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.75rem;flex-shrink:0}.fm-archives-sidebar h2{font-size:.9rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.fm-archives-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.fm-archive-entry{width:100%;text-align:left;padding:.5rem .75rem;border-radius:8px;border:1.5px solid transparent;background:none;font-size:.85rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .15s}.fm-archive-entry:hover,.fm-archive-entry.active{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.fm-archive-detail{padding:.5rem .75rem;margin-top:.25rem;border-left:3px solid #bfdbfe;margin-left:.5rem}.fm-archive-items{list-style:none;display:flex;flex-direction:column;gap:.35rem}.fm-archive-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem}.fm-archive-item.discussed{opacity:.6}.strikethrough{text-decoration:line-through;color:var(--text-secondary)}.suggest-meeting-toggle{margin-top:.25rem;padding:.6rem .75rem;background:#fffbeb;border:1.5px solid #fde68a;border-radius:8px}.suggest-meeting-label{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;color:#92400e;cursor:pointer}.suggest-meeting-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.suggestion-confirmed{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;text-align:center}.suggestion-confirmed-icon{font-size:2.5rem}.suggestion-confirmed p{font-size:.95rem;font-weight:600;color:#16a34a}[data-theme=dark] .suggest-meeting-toggle,[data-theme=true-black] .suggest-meeting-toggle{background:#fbbf2414;border-color:#fbbf2440}[data-theme=dark] .suggest-meeting-label,[data-theme=true-black] .suggest-meeting-label{color:#fbbf24}[data-theme=dark] .fm-suggestion,[data-theme=true-black] .fm-suggestion{background:#fbbf2414;border-color:#fbbf2440}[data-theme=dark] .fm-approve-btn,[data-theme=true-black] .fm-approve-btn{color:#4ade80;border-color:#4ade80}[data-theme=dark] .fm-approve-btn:hover,[data-theme=true-black] .fm-approve-btn:hover{background:#4ade801f}[data-theme=dark] .fm-reject-btn:hover,[data-theme=true-black] .fm-reject-btn:hover{background:#ef44441f}@media(max-width:768px){.fm-topbar{padding:.75rem 1rem}.fm-archives-sidebar{display:none}.fm-main{padding:1rem}}.settings-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.settings-page-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem .75rem;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.settings-page-header h1{margin:0;font-size:1.4rem}.settings-page-back{background:none;border:none;color:var(--color-primary, #3b82f6);font-size:.95rem;cursor:pointer;padding:.25rem .5rem}.settings-subtabs{display:flex;gap:.25rem;padding:.75rem 1.5rem 0;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0;overflow-x:auto}.settings-subtab-btn{background:none;border:none;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;color:var(--text-secondary, #6b7280);white-space:nowrap}.settings-subtab-btn.active{color:var(--color-primary, #3b82f6);border-bottom-color:var(--color-primary, #3b82f6);font-weight:600}.settings-page-body{flex:1;overflow-y:auto;padding:1.5rem 2rem}.settings-subtab-content{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;align-items:start}.settings-subtab-content .settings-section{margin-bottom:0}@media(max-width:860px){.settings-subtab-content{grid-template-columns:1fr}}.settings-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.settings-section-header h2{margin:0}.settings-form{display:flex;flex-direction:column;gap:.75rem}.settings-toast{position:fixed;bottom:1.5rem;right:1.5rem;padding:.5rem 1.1rem;border-radius:8px;font-size:.9rem;font-weight:500;z-index:1000;pointer-events:none;transition:opacity .2s}.settings-toast--saving{background:#fef3c7;color:#92400e}.settings-toast--saved{background:#d1fae5;color:#065f46}.user-list{display:flex;flex-direction:column;gap:.5rem}.user-list-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--bg-secondary, #f9fafb);border-radius:8px}.user-list-info{flex:1;display:flex;flex-direction:column;min-width:0}.user-list-name{font-weight:600;font-size:.95rem}.user-list-meta{font-size:.78rem;color:var(--text-secondary, #6b7280)}.user-list-actions{display:flex;gap:.4rem;flex-shrink:0}.btn-danger{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;padding:.3rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer}.btn-danger:hover{background:#fecaca}.chore-item--large{padding-top:.6rem;padding-bottom:.6rem;min-height:3.5rem}.chore-item--bounty-claim{border-color:var(--accent-color, #f59e0b);background:color-mix(in srgb,var(--accent-color, #f59e0b) 8%,var(--glass-bg-secondary))}.bounty-claim-icon{font-size:1.25rem;flex-shrink:0}.chore-title--emoji-only{font-size:2rem;line-height:1}.chore-title--learning{display:flex;align-items:center;gap:.4rem}.chore-emoji{font-size:1.4rem;line-height:1}[data-theme=dark]{color-scheme:dark;--bg-light: #0f172a;--bg-white: #1e293b;--bg-secondary: #253347;--hover-bg: #2d3748;--pinned-bg: #292100;--input-bg: #1e293b;--input-border: #475569;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-color: #334155;--glass-bg-base: rgba(20, 32, 52, .58);--glass-bg-secondary-base: rgba(12, 20, 38, .52);--glass-border: rgba(255, 255, 255, .09);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .45);--glass-specular: inset 0 1px 0 rgba(255, 255, 255, .07);--app-bg: linear-gradient(135deg, #06101e 0%, #0c1830 35%, #060d1e 70%, #030d14 100%)}[data-theme=true-black]{color-scheme:dark;--bg-light: #000000;--bg-white: #111111;--bg-secondary: #1a1a1a;--hover-bg: #222222;--pinned-bg: #1a1300;--input-bg: #111111;--input-border: #333333;--text-primary: #f0f0f0;--text-secondary: #888888;--border-color: #2a2a2a;--glass-bg-base: rgba(14, 14, 14, .72);--glass-bg-secondary-base: rgba(0, 0, 0, .62);--glass-border: rgba(255, 255, 255, .05);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .65);--glass-specular: inset 0 1px 0 rgba(255, 255, 255, .04);--app-bg: linear-gradient(135deg, #000000 0%, #050505 50%, #000000 100%)}.theme-picker{display:flex;gap:.5rem}.theme-picker-btn{flex:1;padding:.5rem .75rem;border:1.5px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.theme-picker-btn:hover{border-color:var(--primary-color);color:var(--text-primary)}.theme-picker-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}[data-theme=dark] .tabs-pill{background:#1e2d466b;border-color:#ffffff1a;box-shadow:0 4px 20px #00000059,inset 0 1px #ffffff14}[data-theme=dark] .tab:hover{background:#ffffff1a;color:var(--text-primary)}[data-theme=dark] .tab.active{background:#ffffff24;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff24;color:var(--primary-color)}[data-theme=true-black] .tabs-pill{background:#0e0e0e8c;border-color:#ffffff0f;box-shadow:0 4px 20px #0000008c,inset 0 1px #ffffff0a}[data-theme=true-black] .tab:hover{background:#ffffff12;color:var(--text-primary)}[data-theme=true-black] .tab.active{background:#ffffff17;box-shadow:0 2px 8px #00000073,inset 0 1px #ffffff12;color:var(--primary-color)}[data-theme=dark] .mobile-subtab-nav{background:#1e2d466b;border-color:#ffffff1a;box-shadow:0 4px 20px #00000059,inset 0 1px #ffffff14}[data-theme=dark] .mobile-subtab-btn:hover{background:#ffffff1a;color:var(--text-primary)}[data-theme=dark] .mobile-subtab-btn.active{background:#ffffff24;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff24;color:var(--primary-color)}[data-theme=true-black] .mobile-subtab-nav{background:#0e0e0e8c;border-color:#ffffff0f;box-shadow:0 4px 20px #0000008c,inset 0 1px #ffffff0a}[data-theme=true-black] .mobile-subtab-btn:hover{background:#ffffff12;color:var(--text-primary)}[data-theme=true-black] .mobile-subtab-btn.active{background:#ffffff17;box-shadow:0 2px 8px #00000073,inset 0 1px #ffffff12;color:var(--primary-color)}[data-theme=dark] .week-day-col.today,[data-theme=true-black] .week-day-col.today{background:#5c67f214}[data-theme=dark] .meal-day-header.meal-day-today,[data-theme=dark] .meal-cell.meal-cell-today{background:#5c67f21a}[data-theme=true-black] .meal-day-header.meal-day-today,[data-theme=true-black] .meal-cell.meal-cell-today{background:#5c67f214}[data-theme=dark] .meal-card-confirmed,[data-theme=true-black] .meal-card-confirmed{background:#16653433;border-color:#86efac59}[data-theme=dark] .meal-card-suggested,[data-theme=true-black] .meal-card-suggested{background:#854d0e33;border-color:#fbbf2466}[data-theme=dark] .meal-btn-confirm,[data-theme=true-black] .meal-btn-confirm{background:#16653440;border-color:#86efac59;color:#86efac}[data-theme=dark] .meal-btn-decline,[data-theme=true-black] .meal-btn-decline{background:#991b1b40;border-color:#fca5a559;color:#fca5a5}.bounty-tab{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-width:900px;margin:0 auto;width:100%}.bounty-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.bounty-heading{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.bounty-balance-chip{display:flex;align-items:center;gap:.4rem;background:var(--bg-light);border:1px solid var(--border-color);border-radius:999px;padding:.35rem .85rem;font-size:.9rem}.bounty-balance-pts{font-weight:700;color:var(--primary-color)}.bounty-balance-sep{color:var(--text-secondary)}.bounty-balance-dollar{color:var(--success-color);font-weight:600}.bounty-cashout-btn{margin-left:.4rem;background:var(--success-color);color:#fff;border:none;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;cursor:pointer;font-weight:600;transition:opacity .15s}.bounty-cashout-btn:hover{opacity:.85}.bounty-gate-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.75rem 1rem;color:#856404;font-weight:600;font-size:.95rem;text-align:center}[data-theme=dark] .bounty-gate-banner,[data-theme=true-black] .bounty-gate-banner{background:#ffc1071f;border-color:#ffc10759;color:#ffc107}.bounty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.bounty-loading,.bounty-empty{text-align:center;color:var(--text-secondary);padding:2rem;font-size:.95rem}.bounty-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.6rem;transition:box-shadow .2s}.bounty-card:hover{box-shadow:0 2px 12px #00000014}.bounty-card--mine{border-color:var(--primary-color);background:#5c67f20a}.bounty-card--taken{opacity:.7}.bounty-card-header{display:flex;align-items:flex-start;gap:.5rem}.bounty-emoji{font-size:1.6rem;line-height:1;flex-shrink:0}.bounty-title-wrap{flex:1;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.bounty-title{font-weight:700;font-size:1rem;color:var(--text-primary);line-height:1.3}.bounty-badge{font-size:.72rem;padding:.1rem .45rem;border-radius:999px;font-weight:600}.bounty-badge--repeat{background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border-color)}.bounty-badge--admin{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.25)}.bounty-admin-only-note{font-size:.8rem;color:var(--text-secondary);font-style:italic}.bounty-nopoints-label{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.bounty-description{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.bounty-value{display:flex;align-items:center;gap:.35rem}.bounty-points{font-weight:700;color:var(--primary-color);font-size:.95rem}.bounty-dollar{color:var(--success-color);font-size:.85rem}.bounty-card-footer{margin-top:auto}.bounty-admin-footer{display:flex;flex-direction:column;gap:.4rem}.bounty-status-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bounty-claimed-badge{font-size:.8rem;padding:.25rem .6rem;border-radius:999px;background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border-color)}.bounty-claimed-badge--mine{background:#5c67f21a;color:var(--primary-color);border-color:var(--primary-color)}.bounty-reserve-btn,.bounty-complete-btn{width:100%}.bounty-reserve-btn:disabled{opacity:.45;cursor:not-allowed}.bounty-complete-form{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.bounty-person-select{flex:1;min-width:0;padding:.35rem .5rem;border-radius:6px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:.85rem}.bounty-confirm-btn,.bounty-cancel-btn{padding:.35rem .65rem;font-size:.82rem;white-space:nowrap}.bounty-release-btn{padding:.25rem .6rem;font-size:.8rem}.bounty-admin-zone{border-top:2px dashed var(--border-color);padding-top:1rem;margin-top:.5rem}.bounty-admin-toggle{background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--text-secondary);padding:0;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.bounty-admin-toggle:hover{color:var(--text-primary)}.bounty-admin-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:.75rem 0 .4rem}.bounty-requests{margin-bottom:.75rem}.bounty-request-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:#fff8e1;border:1px solid #ffc107;border-radius:8px;margin-bottom:.4rem;flex-wrap:wrap}[data-theme=dark] .bounty-request-row,[data-theme=true-black] .bounty-request-row{background:#ffc10714;border-color:#ffc1074d}.bounty-request-name{font-weight:600;font-size:.9rem}.bounty-request-pts{color:var(--primary-color);font-weight:700;font-size:.9rem}.bounty-request-note{font-size:.82rem;color:var(--text-secondary);flex:1;min-width:0;font-style:italic}.bounty-approve-btn,.bounty-deny-btn{padding:.25rem .65rem;font-size:.8rem}.bounty-balances{display:flex;flex-direction:column;gap:.3rem}.bounty-balance-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px solid var(--border-color)}.bounty-balance-name{font-weight:600;font-size:.9rem;min-width:80px}.bounty-balance-val{flex:1;font-size:.85rem;color:var(--text-secondary)}.bounty-redeem-btn{padding:.25rem .65rem;font-size:.8rem}.bounty-modal-balance{margin-bottom:.75rem;font-size:.9rem}.bounty-cashout-success{text-align:center;padding:1rem;font-size:1rem}.form-group--inline{flex-direction:row;align-items:center}[data-theme=dark] .bounty-card,[data-theme=true-black] .bounty-card{background:var(--glass-bg-secondary);border-color:var(--glass-border)}[data-theme=dark] .bounty-card--mine,[data-theme=true-black] .bounty-card--mine{border-color:#5c67f299;background:#5c67f214}[data-theme=dark] .bounty-balance-chip,[data-theme=true-black] .bounty-balance-chip{background:var(--glass-bg-secondary);border-color:var(--glass-border)}.bc-tab{padding:1rem 1.25rem;max-width:800px;margin:0 auto}.bc-guest-bar{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;margin-bottom:1rem;border-radius:8px;background:var(--glass-bg, rgba(255,255,255,.06));border:1px solid var(--glass-border, rgba(255,255,255,.15))}.bc-guest-label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.bc-guest-select{flex:1;min-width:0;font-size:.9rem}.bc-posting-as{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.bc-club-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.bc-club-pill{padding:.35rem 1rem;border-radius:999px;border:1px solid var(--glass-border, rgba(255,255,255,.2));background:var(--glass-bg, rgba(255,255,255,.08));color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s}.bc-club-pill.active{background:var(--primary-color, #5c67f2);border-color:var(--primary-color, #5c67f2);color:#fff;font-weight:600}.bc-club-pill:hover:not(.active){background:var(--bg-light, rgba(255,255,255,.14))}.bc-empty-clubs{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.bc-content{display:flex;flex-direction:column;gap:1.5rem}.bc-section{background:var(--glass-bg, rgba(255,255,255,.06));border:1px solid var(--glass-border, rgba(255,255,255,.12));border-radius:12px;padding:1rem 1.25rem}.bc-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.5rem}.bc-section-title{font-size:1rem;font-weight:700;margin:0;color:var(--text-primary)}.bc-admin-actions{display:flex;gap:.4rem}.bc-admin-btn{font-size:.78rem;padding:.25rem .65rem}.bc-archive-btn-inline{color:var(--warning-color, #d97706);border-color:var(--warning-color, #d97706)}.bc-current-card{display:flex;flex-direction:column;gap:.4rem}.bc-current-title{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.bc-current-author{font-size:.9rem;color:var(--text-secondary);font-style:italic}.bc-current-desc{margin:.25rem 0 .5rem;font-size:.9rem;color:var(--text-primary);line-height:1.5}.bc-rating-section{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--glass-border, rgba(255,255,255,.1))}.bc-avg-rating{display:flex;align-items:center;gap:.5rem}.bc-avg-label{font-size:.85rem;color:var(--text-secondary)}.bc-my-rating{display:flex;align-items:center;gap:.5rem}.bc-my-rating-label{font-size:.85rem;color:var(--text-secondary)}.bc-stars{display:flex;gap:.1rem;line-height:1;-webkit-user-select:none;user-select:none}.bc-star{color:var(--text-secondary);opacity:.4;transition:color .1s,opacity .1s}.bc-star.filled{color:#f59e0b;opacity:1}.bc-star.interactive{cursor:pointer}.bc-star.interactive:hover{opacity:.8}.bc-discussion-list{display:flex;flex-direction:column;gap:.5rem}.bc-discussion-post{margin:0}.bc-post-time{margin-left:auto;font-size:.78rem;color:var(--text-secondary)}.bc-upcoming-list{display:flex;flex-direction:column;gap:.6rem}.bc-upcoming-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--glass-bg-secondary, rgba(255,255,255,.04));border:1px solid var(--glass-border, rgba(255,255,255,.1));border-radius:8px}.bc-upcoming-info{flex:1;min-width:0}.bc-upcoming-title{font-weight:600;font-size:.95rem;color:var(--text-primary)}.bc-upcoming-author{font-size:.85rem;color:var(--text-secondary);font-style:italic}.bc-upcoming-desc{font-size:.82rem;color:var(--text-secondary);margin-top:.2rem}.bc-upcoming-meta{font-size:.78rem;color:var(--text-secondary);margin-top:.3rem}.bc-upcoming-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end;flex-shrink:0}.bc-vote-btn{padding:.3rem .75rem;border-radius:999px;border:1px solid var(--glass-border, rgba(255,255,255,.2));background:var(--glass-bg, rgba(255,255,255,.06));color:var(--text-primary);font-size:.82rem;cursor:pointer;transition:background .15s,border-color .15s}.bc-vote-btn.voted{background:var(--primary-color, #5c67f2);border-color:var(--primary-color, #5c67f2);color:#fff}.bc-promote-btn{font-size:.78rem;padding:.25rem .65rem}.bc-archives-list{display:flex;flex-direction:column;gap:.4rem}.bc-archive-entry{border:1px solid var(--glass-border, rgba(255,255,255,.1));border-radius:8px;overflow:hidden}.bc-archive-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;background:var(--glass-bg-secondary, rgba(255,255,255,.04));border:none;width:100%;text-align:left;cursor:pointer;color:var(--text-primary);font-size:.9rem}.bc-archive-book-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.bc-archive-title{font-weight:600}.bc-archive-author{font-size:.82rem;color:var(--text-secondary);font-style:italic}.bc-archive-meta{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.bc-archive-rating{color:#f59e0b;font-size:.85rem}.bc-archive-date{font-size:.8rem;color:var(--text-secondary)}.bc-archive-chevron{font-size:.7rem;color:var(--text-secondary)}.bc-archive-detail{padding:.75rem .9rem;display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--glass-border, rgba(255,255,255,.08))}.bc-archive-book-desc{margin:0;font-size:.875rem;color:var(--text-primary)}.bc-archive-ratings{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.bc-archive-ratings-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.bc-archive-rating-chip{padding:.15rem .5rem;border-radius:999px;background:var(--glass-bg, rgba(255,255,255,.06));border:1px solid var(--glass-border, rgba(255,255,255,.1));font-size:.8rem}.bc-archive-discussion{font-size:.85rem}.bc-archive-posts{margin-top:.3rem;display:flex;flex-direction:column;gap:.25rem}.bc-archive-post{font-size:.82rem;line-height:1.4}.bc-archive-post-author{font-weight:600;margin-right:.3rem}.bc-archive-post-content{color:var(--text-primary)}.bc-modules-list{display:flex;flex-direction:column;gap:.75rem}.bc-module-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--glass-bg, rgba(255,255,255,.04));border:1px solid var(--glass-border, rgba(255,255,255,.1));border-radius:10px;gap:1rem}.bc-module-info{display:flex;flex-direction:column;gap:.15rem}.bc-module-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.bc-module-desc{font-size:.82rem;color:var(--text-secondary)}.bc-module-toggle{position:relative;width:44px;height:24px;flex-shrink:0}.bc-module-toggle input{opacity:0;width:0;height:0;position:absolute}.bc-module-toggle-slider{position:absolute;inset:0;border-radius:999px;background:var(--glass-border, rgba(255,255,255,.15));transition:background .2s;cursor:pointer}.bc-module-toggle-slider:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .2s}.bc-module-toggle input:checked+.bc-module-toggle-slider{background:var(--primary-color, #5c67f2)}.bc-module-toggle input:checked+.bc-module-toggle-slider:after{transform:translate(20px)}@media(max-width:600px){.bc-tab{padding:.75rem}.bc-upcoming-card{flex-direction:column}.bc-upcoming-actions{flex-direction:row;align-items:center;width:100%;justify-content:flex-start}}.bc-club-meta{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:0 0 .5rem}.bc-club-desc-inline{color:var(--text-secondary, #6b7280);font-size:.9rem;flex:1}.bc-members-btn{font-size:.8rem;padding:.3rem .75rem;white-space:nowrap}.bc-members-modal{display:flex;flex-direction:column;gap:1rem}.bc-members-public-row{padding:.5rem 0;border-bottom:1px solid var(--border-color, #e5e7eb)}.bc-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.bc-members-list{display:flex;flex-direction:column;gap:.5rem}.bc-member-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--border-color, #e5e7eb)}.bc-member-row:last-child{border-bottom:none}.bc-member-name{flex:1;font-weight:500}.bc-member-role-badge{font-size:.7rem;font-weight:600;color:var(--primary-color, #3b82f6);background:color-mix(in srgb,var(--primary-color, #3b82f6) 12%,transparent);padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.bc-member-remove{font-size:.75rem;padding:.2rem .6rem;color:var(--danger-color, #ef4444);border-color:var(--danger-color, #ef4444)}.bc-add-member{display:flex;gap:.5rem;align-items:center;padding-top:.5rem;border-top:1px solid var(--border-color, #e5e7eb)}.bc-add-member-select{flex:1}.bc-current-card{display:flex;gap:1.25rem;align-items:flex-start}.bc-cover-img{width:110px;min-width:110px;height:160px;object-fit:cover;border-radius:6px;box-shadow:0 4px 12px #0000002e;flex-shrink:0}.bc-current-info{flex:1;min-width:0}.bc-thumb{width:52px;min-width:52px;height:72px;object-fit:cover;border-radius:4px;box-shadow:0 2px 6px #00000026;flex-shrink:0}.bc-cover-upload-row{display:flex;align-items:center;gap:.75rem}.bc-cover-preview{width:52px;height:72px;object-fit:cover;border-radius:4px;box-shadow:0 2px 6px #00000026}@media(max-width:480px){.bc-current-card{flex-direction:column;align-items:center}.bc-cover-img{width:90px;height:130px}}.bc-thread{display:flex;flex-direction:column}.bc-replies{margin-left:1.5rem;padding-left:.75rem;border-left:2px solid var(--border-color, #e5e7eb);display:flex;flex-direction:column;gap:0}.bc-replies .bc-discussion-post{border-radius:0;border-bottom:1px solid var(--border-color, #e5e7eb)}.bc-replies .bc-discussion-post:last-child{border-bottom:none}.bc-reply-btn{background:none;border:none;color:var(--text-secondary, #6b7280);font-size:.8rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px}.bc-reply-btn:hover{background:var(--hover-bg, rgba(0,0,0,.06));color:var(--text-primary, #111)}.bc-reply-form{padding:.5rem 0 .25rem;display:flex;flex-direction:column;gap:.4rem}.bc-reply-input{width:100%;resize:vertical;font-size:.875rem;padding:.4rem .6rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background:var(--input-bg, #fff);color:var(--text-primary, #111);box-sizing:border-box}.bc-reply-actions{display:flex;gap:.4rem}.btn-sm{font-size:.8rem;padding:.25rem .75rem}.bc-archive-post--reply{margin-left:1.25rem;padding-left:.5rem;border-left:2px solid var(--border-color, #e5e7eb);opacity:.9}
