:root{--spacing-xs: 2px;--spacing-sm: 4px;--spacing-md: 8px;--spacing-lg: 12px;--spacing-xl: 16px;--spacing-2xl: 20px;--color-black: #000;--color-white: #fff;--color-gray-100: #fafafa;--color-gray-200: #f8f8f8;--color-gray-300: #f0f0f0;--color-gray-400: #e0e0e0;--color-gray-500: #ccc;--color-gray-600: #999;--color-gray-700: #888;--color-gray-800: #666;--color-gray-900: #ddd;--color-error: #c00;--color-success: #060;--color-declined: #900;--color-tentative: #960;--color-link: #0066cc;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 12px;--font-size-base: 13px;--font-size-lg: 14px;--font-size-xl: 16px;--bg-primary: var(--color-white);--bg-secondary: var(--color-gray-100);--bg-tertiary: var(--color-gray-200);--bg-hover: var(--color-gray-300);--bg-selected: var(--color-gray-400);--text-primary: var(--color-black);--text-secondary: var(--color-gray-800);--border-primary: var(--color-black);--border-secondary: var(--color-gray-500);--unread-indicator: var(--color-black)}[data-theme=dark]{--bg-primary: #002b36;--bg-secondary: #073642;--bg-tertiary: #073642;--bg-hover: #094552;--bg-selected: #0a4f5c;--text-primary: #839496;--text-secondary: #586e75;--border-primary: #586e75;--border-secondary: #073642;--unread-indicator: #93a1a1;--color-link: #268bd2;--color-error: #dc322f;--color-success: #859900;--color-declined: #dc322f;--color-tentative: #b58900}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-base);line-height:1.4;color:var(--text-primary);background:var(--bg-primary)}.app{height:100%;display:flex;flex-direction:column}.main-content{flex:1;display:flex;overflow:hidden}.header{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-primary);gap:var(--spacing-lg)}.header-title{flex:1;text-align:center;font-weight:400}.nav-buttons{display:flex;gap:var(--spacing-md);align-items:center}.read-only-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid var(--border-primary);color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.account-banner{border-bottom:1px solid var(--color-error);background:var(--bg-secondary)}.account-banner-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-error);border-left:3px solid var(--color-error)}.account-banner-row+.account-banner-row{border-top:1px solid var(--border-secondary)}.account-banner-row span{flex:1}.account-banner-row a{color:var(--color-link)}.account-banner-code{font-family:monospace;font-size:var(--font-size-lg);font-weight:700;padding:0 var(--spacing-xs);background:var(--bg-tertiary);border:1px solid var(--border-secondary);letter-spacing:.1em}.account-banner-error{flex:none;font-size:var(--font-size-sm)}button{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer}button:hover:not(:disabled){background:var(--text-primary);color:var(--bg-primary)}button:disabled{color:var(--text-secondary);border-color:var(--text-secondary);cursor:not-allowed}.btn-link{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;text-decoration:none;display:inline-block}.btn-link:hover{background:var(--text-primary);color:var(--bg-primary)}.message-list{width:30%;min-width:300px;overflow-y:auto;border-right:1px solid var(--border-primary)}.message-list:focus{outline:none}.message-row{display:grid;grid-template-columns:16px 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-secondary);cursor:pointer;overflow:hidden}.message-row-content{display:flex;flex-direction:column;overflow:hidden}.message-row-top{display:flex;justify-content:space-between;gap:var(--spacing-md)}.message-row-bottom{color:var(--text-secondary);font-size:var(--font-size-md)}.message-row:hover{background:var(--bg-hover)}.message-row.selected{background:var(--bg-selected)}.message-row.unread{font-weight:700}.message-unread-dot{display:flex;align-items:center;justify-content:center}.unread-indicator{width:var(--spacing-md);height:var(--spacing-md);background:var(--unread-indicator);border-radius:50%}.message-sender,.message-subject,.message-date{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-detail{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.message-detail-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary)}.message-detail-header p{margin:var(--spacing-xs) 0}.detail-label{color:var(--text-secondary)}.expand-recipients{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;margin-left:.4em;font-size:inherit;text-decoration:underline}.message-body{flex:1;padding:var(--spacing-md);overflow:hidden}.message-body iframe{width:100%;height:100%;border:1px solid var(--border-secondary)}.empty-state{padding:var(--spacing-2xl);color:var(--text-secondary);text-align:center}.loading{padding:var(--spacing-2xl);text-align:center}.error{padding:var(--spacing-2xl);color:var(--color-error);text-align:center}.new-message-badge{margin-left:var(--spacing-md);padding:var(--spacing-xs) 6px;background:var(--text-primary);color:var(--bg-primary);font-size:var(--font-size-sm);font-weight:400}.search-form{display:flex;align-items:center;position:relative}.search-input{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-sm) 24px var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);width:200px}.search-input:focus{outline:none;box-shadow:0 0 0 1px var(--border-primary)}.search-clear{position:absolute;right:var(--spacing-sm);padding:0 var(--spacing-sm);border:none;background:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--text-secondary)}.search-clear:hover:not(:disabled){color:var(--text-primary);background:none}.calendar-invite{border:1px solid var(--border-primary);margin:var(--spacing-md);background:var(--bg-secondary)}.calendar-invite-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary);background:var(--bg-hover)}.calendar-icon{font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);background:var(--text-primary);color:var(--bg-primary);font-size:var(--font-size-xs)}.calendar-title{font-weight:700;flex:1}.calendar-method{font-size:var(--font-size-sm);padding:var(--spacing-xs) 6px;background:var(--text-secondary);color:var(--bg-primary)}.calendar-details{padding:var(--spacing-md) var(--spacing-lg)}.calendar-details p{margin:var(--spacing-sm) 0}.calendar-attendees{margin-top:var(--spacing-md)}.calendar-attendees ul{list-style:none;margin:var(--spacing-sm) 0 0 0;padding-left:var(--spacing-xl)}.calendar-attendees li{margin:var(--spacing-xs) 0}.partstat{font-size:var(--font-size-sm)}.partstat-accepted{color:var(--color-success)}.partstat-declined{color:var(--color-declined)}.partstat-tentative{color:var(--color-tentative)}.partstat-pending{color:var(--text-secondary)}.calendar-description{margin-top:var(--spacing-md)}.calendar-description pre{margin:var(--spacing-sm) 0 0 0;padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-secondary);white-space:pre-wrap;font-size:var(--font-size-md)}.raw-json-container{display:flex;flex-direction:column;height:100%}.raw-api-link{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-hover);font-size:var(--font-size-sm);text-decoration:none;color:var(--color-link);border-bottom:1px solid var(--border-secondary);flex-shrink:0}.raw-api-link:hover{background:var(--bg-selected)}.raw-json{margin:0;padding:var(--spacing-md);background:var(--bg-tertiary);border:none;font-size:var(--font-size-sm);white-space:pre-wrap;word-break:break-all;flex:1;overflow-y:auto;color:var(--text-primary)}.thread-container{border-bottom:1px solid var(--border-secondary)}a.thread-row,a.thread-message-row,a.message-row{text-decoration:none;color:inherit}.thread-row{display:grid;grid-template-columns:24px 16px 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;overflow:hidden}.thread-row:hover{background:var(--bg-hover)}.thread-row.selected{background:var(--bg-selected)}.thread-row.unread{font-weight:700}.thread-row.expanded{border-bottom:1px solid var(--border-secondary)}.thread-toggle-cell{display:flex;align-items:center;justify-content:center}.thread-toggle{width:20px;height:20px;padding:0;font-size:var(--font-size-lg);font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer}.thread-toggle:hover{background:var(--text-primary);color:var(--bg-primary)}.thread-unread-dot{display:flex;align-items:center;justify-content:center}.thread-row-content{display:flex;flex-direction:column;overflow:hidden}.thread-row-top{display:flex;justify-content:space-between;gap:var(--spacing-md)}.thread-row-bottom{display:flex;gap:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-md)}.thread-sender,.thread-subject,.thread-date{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-subject{flex:1;min-width:0}.thread-count{flex-shrink:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.thread-message-row{display:grid;grid-template-columns:24px 16px 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;overflow:hidden;background:var(--bg-secondary);border-left:3px solid var(--border-secondary);margin-left:var(--spacing-md)}.thread-message-row:hover{background:var(--bg-hover)}.thread-message-row.selected{background:var(--bg-selected);border-left-color:var(--border-primary)}.thread-message-row.unread{font-weight:700}.thread-message-unread-dot{display:flex;align-items:center;justify-content:center}.thread-message-content{display:flex;flex-direction:column;overflow:hidden}.thread-message-top{display:flex;justify-content:space-between;gap:var(--spacing-md)}.thread-message-bottom{display:flex;gap:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-md)}.thread-message-subject{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-message-sender,.thread-message-date{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.thread-row.shake{animation:shake .4s ease-in-out}.theme-toggle{background:none;border:1px solid var(--border-primary);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;color:var(--text-primary);margin-left:auto;display:flex;align-items:center;justify-content:center}.theme-toggle:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.theme-toggle svg{display:block}.attachment-list{border:1px solid var(--border-primary);margin:var(--spacing-md);background:var(--bg-secondary)}.attachment-list-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary);background:var(--bg-hover)}.attachment-list-header-collapsible{cursor:pointer}.attachment-collapse-toggle{margin-left:auto;font-size:var(--font-size-sm);color:var(--text-secondary)}.attachment-icon{font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);background:var(--text-primary);color:var(--bg-primary);font-size:var(--font-size-xs)}.attachment-title{font-weight:700;flex:1}.attachment-items{padding:var(--spacing-sm) 0}.attachment-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer}.attachment-item:hover{background:var(--bg-hover)}.attachment-file-icon{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:monospace}.attachment-filename{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{color:var(--text-secondary);font-size:var(--font-size-sm);flex-shrink:0}.attachment-inline{opacity:.7}.attachment-inline-header{padding:var(--spacing-sm) var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-sm);border-top:1px solid var(--border-secondary);margin-top:var(--spacing-sm)}.attachment-indicator,.sent-badge{font-size:var(--font-size-xs);color:var(--text-secondary);font-family:monospace;margin-left:var(--spacing-sm)}.compose-message{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.compose-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary);display:flex;flex-direction:column;gap:var(--spacing-sm)}.compose-field{display:flex;align-items:center;gap:var(--spacing-md)}.compose-field label{min-width:60px;color:var(--text-secondary)}.compose-field input,.compose-field select{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:inherit}.compose-body{flex:1;padding:var(--spacing-md);display:flex;flex-direction:column;overflow:hidden}.compose-textarea{flex:1;width:100%;padding:var(--spacing-md);border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:inherit;resize:none}.compose-actions{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-md)}.compose-actions button{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.compose-actions button:hover{background:var(--bg-hover)}.compose-actions button:disabled{opacity:.5;cursor:not-allowed}.compose-error{color:var(--color-error);padding:var(--spacing-sm)}.settings{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.settings-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary)}.settings-header h2{font-size:var(--font-size-lg);font-weight:700}.settings-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.settings-section{margin-bottom:var(--spacing-2xl)}.settings-section h3{font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-secondary);padding-bottom:var(--spacing-sm)}.settings-empty{color:var(--text-secondary);padding:var(--spacing-md) 0}.settings-table{width:100%;border-collapse:collapse}.settings-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-primary);color:var(--text-secondary);font-size:var(--font-size-sm)}.settings-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-secondary)}.settings-status{font-size:var(--font-size-sm)}.settings-status.active{color:var(--color-success)}.settings-status.inactive{color:var(--color-error)}.settings-devicecode{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:var(--font-size-sm)}.settings-devicecode-label{color:var(--text-secondary)}.settings-devicecode-code{font-family:var(--font-mono, monospace);font-weight:600;letter-spacing:.05em;padding:2px var(--spacing-xs);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:3px;-webkit-user-select:all;user-select:all}.reply-compose{border-top:1px solid var(--border-primary);padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--bg-secondary);flex-shrink:0}.reply-compose-header{color:var(--text-secondary);font-size:var(--font-size-md)}.reply-textarea{width:100%;min-height:100px;padding:var(--spacing-md);border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:inherit;resize:vertical}.reply-error{color:var(--color-error);font-size:var(--font-size-md)}.reply-quoted{display:flex;flex-direction:column}.reply-quoted-toggle{align-self:flex-start;background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-md);cursor:pointer;padding:var(--spacing-xs) 0}.reply-quoted-toggle:hover:not(:disabled){color:var(--text-primary);background:none}.reply-quoted-body{margin:var(--spacing-sm) 0 0 0;padding-left:var(--spacing-lg);border-left:2px solid var(--border-secondary);color:var(--text-secondary);max-height:200px;overflow-y:auto}.reply-quoted-body pre{white-space:pre-wrap;font-size:var(--font-size-md);margin:0}.reply-actions{display:flex;gap:var(--spacing-md)}.loop-list{width:200px;min-width:160px;border-right:1px solid var(--border-primary);overflow-y:auto;flex-shrink:0}.loop-list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--border-secondary)}.loop-list-title{font-weight:700;font-size:var(--font-size-lg)}.loop-new-btn{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.loop-create-form{padding:var(--spacing-md);border-bottom:1px solid var(--border-secondary);display:flex;flex-direction:column;gap:var(--spacing-sm)}.loop-create-form input{font-family:inherit;font-size:var(--font-size-md);padding:var(--spacing-sm);border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary)}.loop-create-error{color:var(--color-error);font-size:var(--font-size-sm)}.loop-empty{padding:var(--spacing-lg);color:var(--text-secondary);text-align:center;font-size:var(--font-size-md)}.loop-item{padding:var(--spacing-md);border-bottom:1px solid var(--border-secondary);cursor:pointer}.loop-item:hover{background:var(--bg-hover)}.loop-item.selected{background:var(--bg-selected)}.loop-item-closed{opacity:.6}.loop-item-top{display:flex;justify-content:space-between;gap:var(--spacing-sm)}.loop-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loop-item-count{color:var(--text-secondary);font-size:var(--font-size-sm);flex-shrink:0}.loop-item-bottom{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs);font-size:var(--font-size-sm)}.loop-item-activity{color:var(--text-secondary)}.loop-status-badge{font-size:var(--font-size-xs);padding:0 var(--spacing-xs);border:1px solid var(--border-secondary)}.loop-status-open{color:var(--color-success);border-color:var(--color-success)}.loop-status-closed{color:var(--text-secondary)}.loop-status-watching{color:var(--color-link);border-color:var(--color-link)}.loop-closed-divider{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;border-bottom:1px solid var(--border-secondary)}.loop-closed-divider:hover{background:var(--bg-hover)}.loop-detail-panel{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.loop-detail-header{display:flex;align-items:center;gap:var(--spacing-md)}.loop-detail-name{font-weight:700;font-size:var(--font-size-lg)}.loop-edit-name{font-family:inherit;font-size:var(--font-size-lg);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);flex:1}.loop-detail-meta{display:flex;gap:var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-md);margin-top:var(--spacing-xs)}.loop-detail-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.loop-detail-actions button{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}.loop-error{color:var(--color-error);font-size:var(--font-size-md);margin-top:var(--spacing-sm)}.loop-edit-fields{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.loop-edit-field label{display:block;color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.loop-edit-field textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:inherit;resize:vertical}.loop-description{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-md)}.detail-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.message-loops{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.loop-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid var(--border-secondary);background:var(--bg-secondary)}.loop-badge-ai{font-size:var(--font-size-xs);padding:0 var(--spacing-xs);background:var(--color-link);color:var(--bg-primary)}.loop-badge-remove{font-size:var(--font-size-xs);padding:0 var(--spacing-xs);border:none;background:none;color:var(--text-secondary);cursor:pointer;line-height:1}.loop-badge-remove:hover:not(:disabled){color:var(--color-error);background:none}.active-view-btn{background:var(--text-primary);color:var(--bg-primary)}.calendar-view{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:var(--spacing-md)}.calendar-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.calendar-heading{flex:1;margin:0 var(--spacing-sm);font-size:var(--font-size-lg);color:var(--text-primary)}.calendar-cancelled-toggle{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}.calendar-status{padding:var(--spacing-lg);color:var(--text-secondary)}.calendar-error{color:var(--color-error)}.calendar-agenda{list-style:none;margin:0;padding:0}.calendar-entry{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-secondary)}.calendar-entry-time{flex:0 0 5.5rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm)}.calendar-entry-body{flex:1;min-width:0}.calendar-entry-summary{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary)}.calendar-entry-meta{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary)}.calendar-entry-badge,.calendar-entry-partstat{font-size:var(--font-size-xs);text-transform:uppercase;padding:0 var(--spacing-xs);border-radius:3px;border:1px solid var(--border-primary);color:var(--text-secondary)}.calendar-entry--cancelled .calendar-entry-summary{text-decoration:line-through}.calendar-entry--cancelled{opacity:.55}.calendar-live{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-top:1px solid var(--border-secondary)}.calendar-live-cancelled{color:var(--color-error);font-weight:600}.calendar-live-rescheduled{color:var(--color-tentative)}.calendar-day-group{margin-bottom:var(--spacing-md)}.calendar-day-header{position:sticky;top:0;margin:0;padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);font-size:var(--font-size-sm);color:var(--text-secondary);z-index:1}.calendar-day-list{list-style:none;margin:0;padding:0}.calendar-entry{position:relative}.calendar-entry-proximity{flex:0 0 auto;align-self:stretch;margin-left:var(--spacing-sm);pointer-events:none}
