.admin-main-content{padding-top:calc(var(--header-height, 64px) + var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4);padding-bottom:var(--space-6);min-height:100vh;max-width:1200px;margin:0 auto}.admin-tabs{display:flex;gap:var(--space-1);padding:var(--space-2);background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-lg);margin-bottom:var(--space-6);overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:transparent;border:none;border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-600);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease-in-out)}.admin-tab:hover{background:var(--neutral-100);color:var(--neutral-800)}.admin-tab.active{background:var(--brand-accent);color:#fff}.admin-tab.active:hover{background:var(--brand-accent-hover)}.admin-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-1);background:#fff;color:var(--brand-accent);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold)}.admin-tab.active .admin-tab-badge{background:#ffffffe6}.admin-section-content{animation:fadeIn var(--duration-fast) var(--ease-in-out)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 767px){.admin-main-content{padding-left:var(--space-3);padding-right:var(--space-3)}.admin-tabs{padding:var(--space-1);gap:0;border-radius:var(--radius-md)}.admin-tab{flex:1;justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}}[data-theme=dark] .admin-tabs{background:var(--surface-elevated);border-color:var(--neutral-300)}[data-theme=dark] .admin-tab{color:var(--neutral-400)}[data-theme=dark] .admin-tab:hover{background:var(--neutral-800);color:var(--neutral-100)}[data-theme=dark] .admin-tab.active{background:var(--brand-accent);color:#fff}[data-theme=dark] .admin-tab-badge{background:var(--neutral-800);color:var(--brand-accent)}[data-theme=dark] .admin-tab.active .admin-tab-badge{background:#ffffffe6;color:var(--brand-accent)}.admin-dashboard{min-height:100vh;background:var(--surface-page);padding:var(--space-6);max-width:var(--container-lg);margin:0 auto}.admin-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--neutral-200)}.admin-back-button{padding:var(--space-2) var(--space-4);background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-600);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.admin-back-button:hover{background:var(--neutral-100);border-color:var(--neutral-300)}.admin-title{font-family:var(--font-ui);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--neutral-800);margin:0}.admin-section{margin-bottom:var(--space-8)}.admin-section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.admin-section-title{font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--neutral-700);margin:0}.admin-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--space-2);background:var(--brand-accent);color:#fff;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold)}.admin-reviews-list{display:flex;flex-direction:column;gap:var(--space-4)}.review-card{background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:all var(--duration-normal) var(--ease-in-out);box-shadow:var(--shadow-sm)}.review-card:hover{box-shadow:var(--shadow-md);border-color:var(--neutral-300)}.review-card.expanded{cursor:default}.review-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.review-card-header-left{display:flex;align-items:center;gap:var(--space-3)}.review-card-username{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--neutral-800)}.review-card-timestamp{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--neutral-500)}.review-card-header-right{display:flex;align-items:center;gap:var(--space-3)}.review-card-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold)}.review-card-badge.hard-block{background:color-mix(in srgb,#EF4444 20%,transparent);color:#ef4444}.review-card-badge.soft-block{background:color-mix(in srgb,#F59E0B 20%,transparent);color:#f59e0b}.review-card-quick-actions{display:flex;align-items:center;gap:var(--space-2)}.review-card-quick-approve,.review-card-quick-reject{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.review-card-quick-approve svg,.review-card-quick-reject svg{flex-shrink:0}.review-card-quick-approve{background:#10b981;color:#fff}.review-card-quick-approve:hover:not(:disabled){background:#059669}.review-card-quick-reject{background:transparent;border:var(--border-width-2) solid #EF4444;color:#ef4444}.review-card-quick-reject:hover:not(:disabled){background:#ef4444;color:#fff}.review-card-quick-approve:disabled,.review-card-quick-reject:disabled{opacity:.5;cursor:not-allowed}.review-card-sentence-preview{font-family:var(--font-reading);font-size:var(--text-base);color:var(--neutral-600);line-height:var(--leading-relaxed);font-style:italic}.review-card-details{margin-top:var(--space-6);padding-top:var(--space-6);border-top:var(--border-width) solid var(--neutral-200)}.review-detail-section{margin-bottom:var(--space-6)}.review-detail-section:last-child{margin-bottom:0}.review-detail-heading{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-500);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-3) 0}.flagged-sentence{padding:var(--space-4);background:color-mix(in srgb,#EF4444 10%,transparent);border-radius:var(--radius-md);border-left:var(--border-width-4) solid #EF4444}.flagged-sentence p{margin:0;font-family:var(--font-reading);font-size:var(--text-base);color:#ef4444;font-style:italic;line-height:var(--leading-relaxed)}.story-context{padding:var(--space-4);background:var(--neutral-100);border-radius:var(--radius-md);border-left:var(--border-width-4) solid var(--neutral-300)}.story-context p{margin:0 0 var(--space-2) 0;font-family:var(--font-reading);font-size:var(--text-sm);color:var(--neutral-600);line-height:var(--leading-relaxed)}.story-context p:last-child{margin-bottom:0}.tier1-flags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.tier1-flag{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.tier1-flag.hard{background:color-mix(in srgb,#EF4444 20%,transparent);color:#ef4444}.tier1-flag.soft{background:color-mix(in srgb,#F59E0B 20%,transparent);color:#f59e0b}.tier1-warning{margin:0;font-size:var(--text-sm);color:#ef4444;font-weight:var(--font-medium)}.tier2-reasons{margin:0 0 var(--space-3) 0;padding-left:var(--space-5);color:var(--neutral-600);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.tier2-reasons li{margin-bottom:var(--space-1)}.tier2-flags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tier2-flag{padding:var(--space-1) var(--space-3);background:color-mix(in srgb,#EF4444 15%,transparent);color:#ef4444;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.tier2-flag.trolling{background:color-mix(in srgb,#F59E0B 15%,transparent);color:#f59e0b}.review-detail-heading.safe-rewrite{color:#10b981}.safe-rewrite-content{padding:var(--space-4);background:color-mix(in srgb,#10B981 10%,transparent);border-radius:var(--radius-md);border-left:var(--border-width-4) solid #10B981}.safe-rewrite-content p{margin:0;font-family:var(--font-reading);font-size:var(--text-base);color:var(--neutral-700);font-style:italic;line-height:var(--leading-relaxed)}.review-notes-textarea{width:100%;padding:var(--space-3);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--neutral-700);line-height:var(--leading-normal);resize:vertical;background:var(--surface-card);transition:border-color var(--duration-fast) var(--ease-in-out)}.review-notes-textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:var(--focus-ring)}.review-notes-textarea::placeholder{color:var(--neutral-400)}.review-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.review-action-approve,.review-action-reject{flex:1;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);min-height:var(--tap-target-min)}.review-action-approve{background:#10b981;border:none;color:#fff}.review-action-approve:hover:not(:disabled){background:#059669}.review-action-reject{background:transparent;border:var(--border-width-2) solid #EF4444;color:#ef4444}.review-action-reject:hover:not(:disabled){background:#ef4444;color:#fff}.review-action-approve:disabled,.review-action-reject:disabled{opacity:.5;cursor:not-allowed}.admin-empty-state{text-align:center;padding:var(--space-12) var(--space-6);background:var(--surface-card);border-radius:var(--radius-lg);border:var(--border-width) solid var(--neutral-200)}.admin-empty-icon{font-size:64px;margin-bottom:var(--space-4);color:var(--state-success)}.admin-empty-title{font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--neutral-800);margin:0 0 var(--space-2) 0}.admin-empty-message{font-family:var(--font-ui);font-size:var(--text-base);color:var(--neutral-500);margin:0}.admin-loading,.admin-error{text-align:center;padding:var(--space-8);background:var(--surface-card);border-radius:var(--radius-lg);border:var(--border-width) solid var(--neutral-200)}.admin-loading{color:var(--neutral-600);font-family:var(--font-ui);font-size:var(--text-base)}.admin-error{color:#ef4444}.admin-error p{margin:0 0 var(--space-4) 0;font-family:var(--font-ui);font-size:var(--text-base)}.admin-error button{padding:var(--space-2) var(--space-6);background:#10b981;border:none;border-radius:var(--radius-md);color:#fff;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.admin-error button:hover{background:#059669}@media (max-width: 768px){.admin-dashboard{padding:var(--space-4)}.admin-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.admin-back-button{width:100%}.review-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.review-card-header-right{width:100%;justify-content:space-between}.review-actions{flex-direction:column}.review-action-approve,.review-action-reject{width:100%}}[data-theme=dark] .admin-back-button{background:var(--surface-card);border-color:var(--neutral-200);color:var(--neutral-600)}[data-theme=dark] .admin-back-button:hover{background:var(--neutral-100);border-color:var(--neutral-300)}[data-theme=dark] .review-card{background:var(--surface-card);border-color:var(--neutral-200)}[data-theme=dark] .review-card:hover{border-color:var(--neutral-300)}[data-theme=dark] .review-notes-textarea{background:var(--surface-elevated);border-color:var(--neutral-200);color:var(--neutral-600)}[data-theme=dark] .story-context{background:var(--neutral-100);border-left-color:var(--neutral-300)}[data-theme=dark] .story-context p{color:var(--neutral-600)}[data-theme=dark] .admin-empty-state,[data-theme=dark] .admin-loading,[data-theme=dark] .admin-error{background:var(--surface-card);border-color:var(--neutral-200)}.admin-section.history-section{border-top:var(--border-width) solid var(--neutral-200);padding-top:var(--space-6)}.admin-section-header.clickable{cursor:pointer;padding:var(--space-3);margin:calc(-1 * var(--space-3));margin-bottom:var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-in-out)}.admin-section-header.clickable:hover{background:var(--neutral-100)}.section-chevron{font-size:var(--text-sm);color:var(--neutral-400);margin-left:var(--space-2);transition:transform var(--duration-fast) var(--ease-in-out);display:inline-block}.section-chevron.expanded{transform:rotate(0)}.admin-count-badge.history{background:var(--neutral-400)}.history-content{animation:slideDown var(--duration-normal) var(--ease-in-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.review-card.resolved{cursor:pointer}.review-card.resolved.expanded{cursor:default}.review-card.resolved.approved{border-left:var(--border-width-4) solid #10B981}.review-card.resolved.rejected{border-left:var(--border-width-4) solid #EF4444}.review-card-status-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold)}.review-card-status-badge.approved{background:color-mix(in srgb,#10B981 20%,transparent);color:#10b981}.review-card-status-badge.rejected{background:color-mix(in srgb,#EF4444 20%,transparent);color:#ef4444}.review-decision-info{padding:var(--space-4);background:var(--neutral-100);border-radius:var(--radius-md)}.review-decision-info p{margin:0 0 var(--space-2) 0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--neutral-600);line-height:var(--leading-relaxed)}.review-decision-info p:last-child{margin-bottom:0}.status-text.approved{color:#10b981;font-weight:var(--font-semibold)}.status-text.rejected{color:#ef4444;font-weight:var(--font-semibold)}.admin-empty-state.small{padding:var(--space-6)}.admin-empty-state.small .admin-empty-message{font-size:var(--text-sm)}@media (prefers-reduced-motion: reduce){.review-card,.admin-back-button,.review-action-approve,.review-action-reject,.review-card-quick-approve,.review-card-quick-reject,.review-notes-textarea,.admin-section-header.clickable,.section-chevron{transition:none}.history-content{animation:none}}.admin-back-button:focus-visible,.review-card-quick-approve:focus-visible,.review-card-quick-reject:focus-visible,.review-action-approve:focus-visible,.review-action-reject:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.review-notes-textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}.admin-sections{display:flex;flex-direction:column;gap:var(--space-4)}.collapsible-section{background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-in-out)}.collapsible-section:hover{box-shadow:var(--shadow-md)}.collapsible-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4) var(--space-5);background:transparent;border:none;cursor:pointer;font-family:var(--font-ui);text-align:left;transition:background var(--duration-fast) var(--ease-in-out)}.collapsible-section-header:hover{background:var(--neutral-100)}.collapsible-section-header.expanded{border-bottom:var(--border-width) solid var(--neutral-200)}.collapsible-section-header-left{display:flex;align-items:center;gap:var(--space-3)}.collapsible-section-icon{font-size:var(--text-xl);line-height:1}.collapsible-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--neutral-800);margin:0}@media (min-width: 768px){.collapsible-section-title{font-size:var(--text-xl)}}.collapsible-section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold)}.collapsible-section-badge.primary{background:var(--brand-accent);color:#fff}.collapsible-section-badge.muted{background:var(--neutral-400);color:#fff}.collapsible-section-chevron{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--neutral-400);transition:transform var(--duration-normal) var(--ease-in-out)}.collapsible-section-chevron.expanded{transform:rotate(90deg)}.collapsible-section-content{max-height:0;overflow:hidden;transition:max-height var(--duration-normal) var(--ease-in-out)}.collapsible-section-content.expanded{max-height:none;overflow:visible;padding:var(--space-5)}.moderation-section{display:flex;flex-direction:column;gap:var(--space-6)}.moderation-subsection{display:flex;flex-direction:column;gap:var(--space-4)}.moderation-subsection.history{padding-top:var(--space-4);border-top:var(--border-width) solid var(--neutral-200)}.moderation-subsection-header{display:flex;align-items:center;gap:var(--space-3)}.moderation-subsection-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--neutral-700);margin:0}.moderation-history-toggle{display:flex;align-items:center;width:100%;padding:var(--space-2) 0;background:transparent;border:none;cursor:pointer;text-align:left}.moderation-history-toggle-left{display:flex;align-items:center;gap:var(--space-2)}.moderation-history-chevron{display:flex;align-items:center;justify-content:center;color:var(--neutral-400);transition:transform var(--duration-fast) var(--ease-in-out)}.moderation-history-chevron.expanded{transform:rotate(90deg)}.moderation-history-content{padding-top:var(--space-4);animation:fadeIn var(--duration-normal) var(--ease-in-out)}.admin-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.admin-placeholder-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.6}.admin-placeholder-title{font-family:var(--font-ui);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--neutral-700);margin:0 0 var(--space-2) 0}.admin-placeholder-message{font-family:var(--font-ui);font-size:var(--text-base);color:var(--neutral-500);margin:0 0 var(--space-4) 0;max-width:400px}.admin-placeholder-status{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--neutral-400);font-style:italic;margin:0}[data-theme=dark] .collapsible-section{background:var(--surface-card);border-color:var(--neutral-200)}[data-theme=dark] .collapsible-section-header:hover{background:var(--neutral-100)}[data-theme=dark] .collapsible-section-header.expanded{border-bottom-color:var(--neutral-200)}[data-theme=dark] .moderation-subsection.history{border-top-color:var(--neutral-200)}@media (prefers-reduced-motion: reduce){.collapsible-section,.collapsible-section-header,.collapsible-section-chevron,.collapsible-section-content,.moderation-history-chevron,.moderation-history-content{transition:none}.moderation-history-content{animation:none}}.collapsible-section-header:focus-visible{outline:2px solid var(--brand-accent);outline-offset:-2px;border-radius:var(--radius-lg)}.moderation-history-toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.user-management-section{display:flex;flex-direction:column;gap:var(--space-4)}.user-management-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.page-size-toggle{display:flex;align-items:center;gap:var(--space-2)}.page-size-label{font-size:var(--text-sm);color:var(--neutral-500);font-weight:var(--font-medium)}.page-size-btn{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-600);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.page-size-btn:hover:not(:disabled){background:var(--neutral-100);border-color:var(--neutral-300)}.page-size-btn.active{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.page-size-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .page-size-btn{background:var(--surface-elevated);border-color:var(--neutral-300);color:var(--neutral-400)}[data-theme=dark] .page-size-btn:hover:not(:disabled){background:var(--neutral-800);border-color:var(--neutral-400)}[data-theme=dark] .page-size-btn.active{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.user-management-error{text-align:center;padding:var(--space-4);background:color-mix(in srgb,#EF4444 10%,transparent);border-radius:var(--radius-md);color:#ef4444}.user-management-error button{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);background:#ef4444;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.user-search{display:flex;flex-direction:column;gap:var(--space-3)}.user-search-input-row{display:flex;gap:var(--space-2)}.user-search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.user-search-icon{position:absolute;left:var(--space-3);color:var(--neutral-400);pointer-events:none}.user-search-input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) calc(var(--space-3) + 28px);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--surface-card);color:var(--neutral-800);transition:border-color var(--duration-fast) var(--ease-in-out)}.user-search-input:focus{outline:none;border-color:var(--brand-accent);box-shadow:var(--focus-ring)}.user-search-input::placeholder{color:var(--neutral-400)}.user-search-clear{position:absolute;right:var(--space-2);padding:var(--space-1);background:none;border:none;color:var(--neutral-400);cursor:pointer;display:flex;align-items:center;justify-content:center}.user-search-clear:hover{color:var(--neutral-600)}.user-search-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-5);background:var(--brand-accent);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-in-out)}.user-search-button.loading .button-text{visibility:hidden}.user-search-button .button-spinner{position:absolute}.user-search-button:hover:not(:disabled){background:var(--brand-accent-hover)}.user-search-button:disabled{background:var(--brand-accent);color:#fff;opacity:.8;cursor:not-allowed}.button-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:button-spin .8s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}.user-search-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.user-search-filters-label{font-size:var(--text-sm);color:var(--neutral-500);font-weight:var(--font-medium)}.user-search-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.user-search-filter-chip{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--neutral-600);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.user-search-filter-chip:hover{background:var(--neutral-200)}.user-search-filter-chip.active{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.filter-chip-icon{font-size:var(--text-sm)}.user-search-clear-filters{padding:var(--space-1) var(--space-2);background:none;border:none;font-size:var(--text-sm);color:var(--brand-accent);cursor:pointer;text-decoration:underline}.user-table-container{display:flex;flex-direction:column}.user-table-empty{text-align:center;padding:var(--space-8);color:var(--neutral-500)}.user-table{width:100%;border-collapse:collapse}.user-table th{text-align:left;padding:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-500);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-bottom:var(--border-width-2) solid var(--neutral-200)}.user-table td{padding:var(--space-3);border-bottom:var(--border-width) solid var(--neutral-200);vertical-align:middle}.user-table tr:hover{background:var(--neutral-100)}.user-table tr.row-banned{background:color-mix(in srgb,#EF4444 5%,transparent)}.user-cell-content{display:flex;flex-direction:column;gap:var(--space-1)}.user-username{font-weight:var(--font-semibold);color:var(--neutral-800)}.user-email{font-size:var(--text-sm);color:var(--neutral-500)}.user-status-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.user-status-badge.status-active{background:color-mix(in srgb,#10B981 15%,transparent);color:#10b981}.user-status-badge.status-admin{background:color-mix(in srgb,var(--brand-accent) 15%,transparent);color:var(--brand-accent)}.user-status-badge.status-suspended{background:color-mix(in srgb,#F59E0B 15%,transparent);color:#f59e0b}.user-status-badge.status-banned{background:color-mix(in srgb,#EF4444 15%,transparent);color:#ef4444}.user-status-badge.status-pending{background:color-mix(in srgb,#8B5CF6 15%,transparent);color:#8b5cf6}.strikes-warning{color:#f59e0b;font-weight:var(--font-semibold)}.stats-grid{display:flex;gap:var(--space-2);font-size:var(--text-sm);color:var(--neutral-600)}.date-cell{font-size:var(--text-sm);color:var(--neutral-500)}.user-edit-button{padding:var(--space-2) var(--space-3);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-700);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.user-edit-button:hover{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.user-cards{display:flex;flex-direction:column;gap:var(--space-3)}.user-card{padding:var(--space-4);background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.user-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-accent)}.user-card.card-banned{border-left:var(--border-width-4) solid #EF4444}.user-card-header{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.user-card-identity{display:flex;align-items:center;gap:var(--space-2)}.user-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);padding:var(--space-3);background:var(--neutral-100);border-radius:var(--radius-sm)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.stat-label{font-size:var(--text-xs);color:var(--neutral-500)}.stat-value{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--neutral-800)}.user-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3)}.user-joined{font-size:var(--text-sm);color:var(--neutral-500)}.user-card-edit-hint{font-size:var(--text-sm);color:var(--brand-accent)}.user-table-footer{display:flex;justify-content:center;padding:var(--space-4)}.user-table-loading{color:var(--neutral-500)}.user-load-more-button{padding:var(--space-2) var(--space-6);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-weight:var(--font-medium);color:var(--neutral-700);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.user-load-more-button:hover{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.user-table-end{font-size:var(--text-sm);color:var(--neutral-500)}.desktop-only{display:none}.mobile-only{display:flex}@media (min-width: 768px){.desktop-only{display:table}.mobile-only{display:none}}.user-edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--surface-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4)}.user-edit-modal{width:100%;max-width:600px;max-height:90vh;background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.user-edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--neutral-200)}.user-edit-modal-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--neutral-800)}.user-edit-modal-close{padding:var(--space-1);background:none;border:none;color:var(--neutral-500);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-in-out)}.user-edit-modal-close:hover{background:var(--neutral-100);color:var(--neutral-700)}.user-edit-modal-content{flex:1;overflow-y:auto;padding:var(--space-5)}.user-edit-section{margin-bottom:var(--space-6)}.user-edit-section:last-child{margin-bottom:0}.user-edit-section-title{margin:0 0 var(--space-3) 0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--neutral-700)}.user-edit-section-hint{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--neutral-500)}.user-edit-info-grid{display:flex;flex-direction:column;gap:var(--space-2)}.user-edit-info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-label{font-size:var(--text-sm);color:var(--neutral-500)}.info-value{font-size:var(--text-base);color:var(--neutral-800)}.info-value.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.user-edit-field{margin-bottom:var(--space-4)}.user-edit-field label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-600)}.user-edit-field input[type=number]{width:100%;max-width:200px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--surface-card);color:var(--neutral-800)}.user-edit-field input[type=number]:focus{outline:none;border-color:var(--brand-accent);box-shadow:var(--focus-ring)}.user-edit-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (min-width: 480px){.user-edit-stats-grid{grid-template-columns:repeat(3,1fr)}}.user-edit-field.compact{margin-bottom:0}.user-edit-field.compact input{max-width:none}.suspension-input-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.suspension-presets{display:flex;gap:var(--space-1)}.suspension-presets button{padding:var(--space-1) var(--space-2);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--neutral-600);cursor:pointer}.suspension-presets button:hover{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.user-edit-status-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.user-edit-status-alert.suspended{background:color-mix(in srgb,#F59E0B 10%,transparent);border-left:var(--border-width-4) solid #F59E0B}.user-edit-status-alert.pending{background:color-mix(in srgb,#8B5CF6 10%,transparent);border-left:var(--border-width-4) solid #8B5CF6}.status-icon{font-size:var(--text-xl)}.status-content{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.status-content strong{font-size:var(--text-sm);color:var(--neutral-800)}.status-content span{font-size:var(--text-sm);color:var(--neutral-600)}.status-action-button{padding:var(--space-2) var(--space-3);background:#fff;border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-700);cursor:pointer}.user-edit-toggles{display:flex;flex-direction:column;gap:var(--space-3)}.user-edit-toggle label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.user-edit-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer}.toggle-label{font-size:var(--text-base);color:var(--neutral-700)}.toggle-label.ban-label{color:#ef4444;font-weight:var(--font-medium)}.toggle-label.admin-label{color:var(--brand-accent);font-weight:var(--font-medium)}.user-edit-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--neutral-200)}.user-edit-cancel-button{padding:var(--space-2) var(--space-4);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-weight:var(--font-medium);color:var(--neutral-700);cursor:pointer}.user-edit-cancel-button:hover{background:var(--neutral-200)}.user-edit-save-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-5);background:var(--brand-accent);border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);color:#fff;cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.user-edit-save-button:hover:not(:disabled){background:var(--brand-accent-hover)}.user-edit-save-button:disabled{background:var(--brand-accent);color:#fff;opacity:.8;cursor:not-allowed}.user-edit-save-button.loading .button-text{visibility:hidden}.user-edit-save-button .button-spinner{position:absolute}.user-edit-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.user-edit-confirm-dialog{background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-5);max-width:400px;text-align:center}.user-edit-confirm-dialog h3{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);color:#ef4444}.user-edit-confirm-dialog p{margin:0 0 var(--space-2) 0;color:var(--neutral-700)}.confirm-warning{font-size:var(--text-sm);color:var(--neutral-500)}.confirm-actions{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.confirm-cancel{padding:var(--space-2) var(--space-4);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-700);cursor:pointer}.confirm-ban{padding:var(--space-2) var(--space-4);background:#ef4444;border:none;border-radius:var(--radius-md);color:#fff;font-weight:var(--font-semibold);cursor:pointer}.confirm-ban:hover{background:#dc2626}[data-theme=dark] .user-search-input{background:var(--surface-elevated);border-color:var(--neutral-200);color:var(--neutral-600)}[data-theme=dark] .user-search-filter-chip{background:var(--neutral-200);border-color:var(--neutral-300);color:var(--neutral-600)}[data-theme=dark] .user-card{background:var(--surface-card);border-color:var(--neutral-200)}[data-theme=dark] .user-card-stats{background:var(--neutral-200)}[data-theme=dark] .user-edit-modal{background:var(--surface-card)}[data-theme=dark] .user-edit-field input{background:var(--surface-elevated);border-color:var(--neutral-200);color:var(--neutral-600)}[data-theme=dark] .user-edit-confirm-dialog{background:var(--surface-card)}.story-management-section{display:flex;flex-direction:column;gap:var(--space-4)}.story-management-loading,.story-management-error{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);text-align:center}.story-management-loading{color:var(--neutral-500)}.story-management-error{color:#ef4444}.story-management-error .error-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ef4444;color:#fff;border-radius:var(--radius-full);font-weight:var(--font-bold)}.story-management-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.story-management-stats{display:flex;align-items:center;gap:var(--space-2)}.story-sentence-count{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--neutral-600)}.story-add-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.story-add-button:hover{background:var(--brand-accent-hover)}.story-management-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12);text-align:center;color:var(--neutral-500)}.story-add-button-large{padding:var(--space-3) var(--space-6);background:var(--brand-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.story-add-button-large:hover{background:var(--brand-accent-hover)}.story-sentence-list{display:flex;flex-direction:column;gap:0}.sentence-with-insert{display:flex;flex-direction:column}.story-insert-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:var(--space-2) auto;background:var(--neutral-100);color:var(--neutral-500);border:2px dashed var(--neutral-300);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.story-insert-button svg{width:16px;height:16px;flex-shrink:0}.story-insert-button:hover{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent);border-style:solid;transform:scale(1.1)}.story-insert-button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.story-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:var(--border-width) solid var(--neutral-200)}.story-pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--surface-card);color:var(--neutral-600);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.story-pagination-btn:hover:not(:disabled){background:var(--neutral-100);border-color:var(--neutral-300)}.story-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.story-pagination-pages{display:flex;align-items:center;gap:var(--space-1)}.story-pagination-page{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--space-2);background:var(--surface-card);color:var(--neutral-600);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.story-pagination-page:hover:not(.active){background:var(--neutral-100);border-color:var(--neutral-300)}.story-pagination-page.active{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent);cursor:default}.story-page-info{font-size:var(--text-sm);color:var(--neutral-500);margin-left:var(--space-2)}[data-theme=dark] .story-insert-button{background:var(--neutral-800);border-color:var(--neutral-600);color:var(--neutral-400)}[data-theme=dark] .story-insert-button:hover{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}[data-theme=dark] .story-pagination-btn,[data-theme=dark] .story-pagination-page{background:var(--neutral-800);border-color:var(--neutral-700);color:var(--neutral-300)}[data-theme=dark] .story-pagination-btn:hover:not(:disabled),[data-theme=dark] .story-pagination-page:hover:not(.active){background:var(--neutral-700);border-color:var(--neutral-600)}@media (max-width: 767px){.story-insert-button{width:40px;height:40px;margin:var(--space-3) auto}.story-pagination{flex-wrap:wrap}.story-pagination-btn,.story-pagination-page{min-width:var(--tap-target-min);height:var(--tap-target-min)}}.sentence-card{background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--duration-fast) var(--ease-in-out)}.sentence-card:hover{box-shadow:var(--shadow-md);border-color:var(--neutral-300)}.sentence-card.edited{border-left:var(--border-width-4) solid #F59E0B}.sentence-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.sentence-card-index{display:flex;align-items:center;gap:var(--space-2)}.index-number{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--brand-accent);min-width:48px}.sentence-card-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.sentence-day{font-size:var(--text-sm);color:var(--neutral-500)}.sentence-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.sentence-badge.manual{background:color-mix(in srgb,#8B5CF6 15%,transparent);color:#8b5cf6}.sentence-badge.edited{background:color-mix(in srgb,#F59E0B 15%,transparent);color:#f59e0b}.sentence-badge.corrected{background:color-mix(in srgb,#3B82F6 15%,transparent);color:#3b82f6}.sentence-card-content{margin-bottom:var(--space-3)}.sentence-text{margin:0;font-family:var(--font-reading);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--neutral-700)}.sentence-original-section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--neutral-200)}.sentence-original-toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--neutral-300);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--neutral-500);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.sentence-original-toggle:hover{background:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-400)}.sentence-original-toggle .toggle-chevron{transition:transform var(--duration-fast) var(--ease-out)}.sentence-original-toggle .toggle-chevron.expanded{transform:rotate(180deg)}.sentence-original-text{margin:var(--space-2) 0 0;padding:var(--space-2);background:var(--neutral-50);border-radius:var(--radius-sm);font-family:var(--font-reading);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--neutral-500);font-style:italic}.sentence-card-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.sentence-card-info{display:flex;align-items:center;gap:var(--space-3)}.sentence-author{font-size:var(--text-sm);color:var(--neutral-600);font-weight:var(--font-medium)}.sentence-votes{font-size:var(--text-sm);color:var(--neutral-500)}.sentence-card-actions{display:flex;gap:var(--space-2)}.sentence-action-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.sentence-action-button.edit{color:var(--neutral-600)}.sentence-action-button.edit:hover{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.sentence-action-button.delete{color:#ef4444;border-color:color-mix(in srgb,#EF4444 30%,transparent)}.sentence-action-button.delete:hover{background:#ef4444;border-color:#ef4444;color:#fff}.sentence-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--surface-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4)}.sentence-modal{width:100%;max-width:560px;max-height:90vh;background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.sentence-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--neutral-200)}.sentence-modal-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--neutral-800)}.sentence-modal-close{padding:var(--space-1);background:none;border:none;color:var(--neutral-500);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-in-out)}.sentence-modal-close:hover:not(:disabled){background:var(--neutral-100);color:var(--neutral-700)}.sentence-modal-close:disabled{opacity:.5;cursor:not-allowed}.sentence-modal-content{flex:1;overflow-y:auto;padding:var(--space-5)}.sentence-modal-position{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--neutral-100);border-radius:var(--radius-md)}.position-label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--neutral-700)}.position-warning{font-size:var(--text-sm);color:#f59e0b}.sentence-modal-original{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--neutral-100);border-radius:var(--radius-md);border-left:var(--border-width-4) solid var(--neutral-300)}.sentence-modal-original label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-500);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.sentence-modal-original p{margin:0;font-family:var(--font-reading);font-size:var(--text-base);color:var(--neutral-600);font-style:italic}.sentence-modal-field{display:flex;flex-direction:column;gap:var(--space-2)}.sentence-modal-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-600)}.sentence-modal-field textarea{width:100%;padding:var(--space-3);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-family:var(--font-reading);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--neutral-800);background:var(--surface-card);resize:vertical;min-height:100px;transition:border-color var(--duration-fast) var(--ease-in-out)}.sentence-modal-field textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:var(--focus-ring)}.sentence-modal-field textarea:disabled{background:var(--neutral-100);cursor:not-allowed}.sentence-modal-field textarea::placeholder{color:var(--neutral-400)}.char-count{font-size:var(--text-sm);color:var(--neutral-500);text-align:right}.char-count.invalid{color:#ef4444}.char-count-hint{margin-left:var(--space-2);color:#f59e0b}.sentence-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--neutral-200)}.sentence-modal-cancel{padding:var(--space-2) var(--space-4);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-weight:var(--font-medium);color:var(--neutral-700);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.sentence-modal-cancel:hover:not(:disabled){background:var(--neutral-200)}.sentence-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.sentence-modal-save{padding:var(--space-2) var(--space-5);background:var(--brand-accent);border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);color:#fff;cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.sentence-modal-save:hover:not(:disabled){background:var(--brand-accent-hover)}.sentence-modal-save:disabled{opacity:.5;cursor:not-allowed}.sentence-delete-modal .delete-warning{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.delete-warning-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ef4444;color:#fff;border-radius:var(--radius-full);font-size:var(--text-lg);font-weight:var(--font-bold);flex-shrink:0}.delete-warning p{margin:0;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--neutral-800)}.delete-preview{padding:var(--space-3);background:color-mix(in srgb,#EF4444 8%,transparent);border-radius:var(--radius-md);border-left:var(--border-width-4) solid #EF4444;margin-bottom:var(--space-3)}.delete-preview-text{margin:0;font-family:var(--font-reading);font-size:var(--text-base);color:var(--neutral-600);font-style:italic}.delete-note{margin:0;font-size:var(--text-sm);color:var(--neutral-500)}.sentence-modal-delete{padding:var(--space-2) var(--space-5);background:#ef4444;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);color:#fff;cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.sentence-modal-delete:hover:not(:disabled){background:#dc2626}.sentence-modal-delete:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.sentence-card-header,.sentence-card-footer{flex-direction:column;align-items:flex-start}.sentence-card-actions{width:100%}.sentence-action-button{flex:1;justify-content:center}}[data-theme=dark] .sentence-card{background:var(--surface-card);border-color:var(--neutral-200)}[data-theme=dark] .sentence-card:hover{border-color:var(--neutral-300)}[data-theme=dark] .sentence-modal{background:var(--surface-card)}[data-theme=dark] .sentence-modal-field textarea{background:var(--surface-elevated);border-color:var(--neutral-200);color:var(--neutral-600)}[data-theme=dark] .sentence-modal-original{background:var(--neutral-100);border-left-color:var(--neutral-300)}[data-theme=dark] .sentence-modal-position{background:var(--neutral-100)}[data-theme=dark] .delete-preview{background:color-mix(in srgb,#EF4444 10%,transparent)}@media (prefers-reduced-motion: reduce){.sentence-card,.sentence-action-button,.insert-zone-button,.story-add-button,.story-add-button-large,.sentence-modal-close,.sentence-modal-field textarea,.sentence-modal-cancel,.sentence-modal-save,.sentence-modal-delete{transition:none}}.sentence-action-button:focus-visible,.insert-zone-button:focus-visible,.story-add-button:focus-visible,.story-add-button-large:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.sentence-modal-close:focus-visible,.sentence-modal-cancel:focus-visible,.sentence-modal-save:focus-visible,.sentence-modal-delete:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.voting-data-section{display:flex;flex-direction:column;gap:var(--space-5)}.voting-data-loading,.voting-data-error,.voting-data-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);text-align:center;color:var(--neutral-500)}.voting-data-error{color:#ef4444;flex-direction:column}.voting-data-error .error-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ef4444;color:#fff;border-radius:var(--radius-full);font-weight:var(--font-bold)}.voting-data-error button{margin-top:var(--space-2);padding:var(--space-2) var(--space-4);background:#ef4444;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.voting-data-instructions{text-align:center;padding:var(--space-6);color:var(--neutral-500)}.voting-data-instructions p{margin:0 0 var(--space-2) 0}.voting-data-hint{font-size:var(--text-sm);font-style:italic}.day-selector{display:flex;flex-direction:column;gap:var(--space-3)}.day-selector-loading,.day-selector-empty{padding:var(--space-4);text-align:center;color:var(--neutral-500);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.day-selector-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-600)}.day-selector-select{width:100%;padding:var(--space-3);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--surface-card);color:var(--neutral-800);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-in-out)}.day-selector-select:focus{outline:none;border-color:var(--brand-accent);box-shadow:var(--focus-ring)}.day-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}@media (min-width: 768px){.day-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.day-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--duration-fast) var(--ease-in-out)}.day-card:hover{border-color:var(--brand-accent);box-shadow:var(--shadow-md)}.day-card.selected{border-color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 5%,transparent)}.day-card-date{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-800)}.day-card-stats{display:flex;flex-direction:column;gap:var(--space-1)}.day-card-candidates,.day-card-votes{font-size:var(--text-xs);color:var(--neutral-500)}.day-card-status{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);align-self:flex-start}.day-card-status.open{background:color-mix(in srgb,#10B981 15%,transparent);color:#10b981}.day-card-status.closed{background:var(--neutral-100);color:var(--neutral-500)}.voting-day-content{background:var(--neutral-100);border-radius:var(--radius-md);padding:var(--space-4)}.voting-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.voting-day-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--neutral-800)}.voting-day-close{padding:var(--space-1);background:none;border:none;color:var(--neutral-500);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-in-out)}.voting-day-close:hover{background:var(--neutral-200);color:var(--neutral-700)}.candidates-list{display:flex;flex-direction:column;gap:var(--space-3)}.candidates-summary{font-size:var(--text-sm);color:var(--neutral-600);font-weight:var(--font-medium);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--neutral-200)}.candidate-card{background:var(--surface-card);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);overflow:hidden;transition:all var(--duration-fast) var(--ease-in-out)}.candidate-card:hover{border-color:var(--neutral-300)}.candidate-card.expanded{box-shadow:var(--shadow-md)}.candidate-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.candidate-card-header:hover{background:var(--neutral-100)}.candidate-card-main{display:flex;align-items:flex-start;gap:var(--space-3);flex:1;min-width:0}.candidate-vote-count{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);background:var(--brand-accent);color:#fff;border-radius:var(--radius-md);min-width:48px;flex-shrink:0}.vote-number{font-size:var(--text-xl);font-weight:var(--font-bold);line-height:1}.vote-label{font-size:var(--text-xs);opacity:.9}.candidate-content{flex:1;min-width:0}.candidate-text{margin:0 0 var(--space-1) 0;font-family:var(--font-reading);font-size:var(--text-base);color:var(--neutral-700);line-height:var(--leading-relaxed)}.candidate-author{font-size:var(--text-sm);color:var(--neutral-500)}.candidate-expand-button{padding:var(--space-1);background:none;border:none;color:var(--neutral-400);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.candidate-expand-button.expanded{transform:rotate(180deg)}.candidate-votes{border-top:var(--border-width) solid var(--neutral-200);padding:var(--space-3);background:var(--neutral-100)}.candidate-votes-header{margin-bottom:var(--space-3)}.candidate-votes-header h4{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-600)}.candidate-votes-empty{text-align:center;padding:var(--space-3);color:var(--neutral-500);font-size:var(--text-sm)}.candidate-votes-list{display:flex;flex-direction:column;gap:var(--space-2)}.vote-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--surface-card);border-radius:var(--radius-sm)}.vote-info{display:flex;flex-direction:column;gap:var(--space-1)}.vote-voter{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-700)}.vote-time{font-size:var(--text-xs);color:var(--neutral-500)}.vote-delete-button{padding:var(--space-1);background:none;border:var(--border-width) solid color-mix(in srgb,#EF4444 30%,transparent);border-radius:var(--radius-sm);color:#ef4444;cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.vote-delete-button:hover:not(:disabled){background:#ef4444;border-color:#ef4444;color:#fff}.vote-delete-button:disabled{opacity:.5;cursor:not-allowed}.vote-delete-button .deleting{font-size:var(--text-xs)}@media (max-width: 480px){.day-cards{grid-template-columns:1fr 1fr}.candidate-card-main{flex-direction:column;gap:var(--space-2)}.candidate-vote-count{flex-direction:row;gap:var(--space-1);padding:var(--space-1) var(--space-2);min-width:auto}.vote-number{font-size:var(--text-base)}.vote-item{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.vote-delete-button{align-self:flex-end}}[data-theme=dark] .day-selector-select{background:var(--surface-elevated);border-color:var(--neutral-200);color:var(--neutral-600)}[data-theme=dark] .day-card{background:var(--surface-card);border-color:var(--neutral-200)}[data-theme=dark] .day-card.selected{background:color-mix(in srgb,var(--brand-accent) 10%,transparent)}[data-theme=dark] .day-card-status.closed{background:var(--neutral-200)}[data-theme=dark] .voting-day-content{background:var(--neutral-100)}[data-theme=dark] .candidate-card{background:var(--surface-card);border-color:var(--neutral-200)}[data-theme=dark] .candidate-votes{background:var(--neutral-100)}[data-theme=dark] .vote-item{background:var(--surface-card)}@media (prefers-reduced-motion: reduce){.day-card,.day-selector-select,.candidate-card,.candidate-card-header,.candidate-expand-button,.voting-day-close,.vote-delete-button{transition:none}}.day-card:focus-visible,.day-selector-select:focus-visible,.voting-day-close:focus-visible,.vote-delete-button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.vote-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--surface-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4)}.vote-confirm-dialog{background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-5);max-width:400px;width:100%;box-shadow:var(--shadow-xl)}.vote-confirm-dialog h3{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:#ef4444}.vote-confirm-details{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--neutral-100);border-radius:var(--radius-md)}.vote-confirm-details p{margin:0 0 var(--space-2) 0;font-size:var(--text-sm);color:var(--neutral-700)}.vote-confirm-details p:last-child{margin-bottom:0}.vote-confirm-details strong{color:var(--neutral-600)}.vote-confirm-warning{margin:0 0 var(--space-4) 0;font-size:var(--text-sm);color:var(--neutral-500);font-style:italic}.vote-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.vote-confirm-cancel{padding:var(--space-2) var(--space-4);background:var(--neutral-100);border:var(--border-width) solid var(--neutral-200);border-radius:var(--radius-md);font-weight:var(--font-medium);color:var(--neutral-700);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.vote-confirm-cancel:hover:not(:disabled){background:var(--neutral-200)}.vote-confirm-cancel:disabled{opacity:.5;cursor:not-allowed}.vote-confirm-delete{padding:var(--space-2) var(--space-4);background:#ef4444;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);color:#fff;cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.vote-confirm-delete:hover:not(:disabled){background:#dc2626}.vote-confirm-delete:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .vote-confirm-dialog{background:var(--surface-card)}[data-theme=dark] .vote-confirm-details{background:var(--neutral-100)}:root{--brand-primary: #2c2c2c;--brand-accent: #4ECDC4;--brand-accent-hover: #45B7D1;--state-draft: #D97706;--state-submitted: #10B981;--state-canonical: #1F2937;--state-celebration: #4ECDC4;--state-warning: #F59E0B;--state-error: #EF4444;--state-success: #10B981;--neutral-50: #FAFAFA;--neutral-100: #F5F5F5;--neutral-200: #E5E5E5;--neutral-300: #D4D4D4;--neutral-400: #A3A3A3;--neutral-500: #737373;--neutral-600: #525252;--neutral-700: #404040;--neutral-800: #262626;--neutral-900: #171717;--surface-page: var(--neutral-50);--surface-card: #FFFFFF;--surface-elevated: #FFFFFF;--surface-overlay: rgba(0, 0, 0, .5);--surface-overlay-light: rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--focus-ring: 0 0 0 3px rgba(78, 205, 196, .3);--focus-ring-error: 0 0 0 3px rgba(239, 68, 68, .3);--font-reading: "Merriweather", "Georgia", "Times New Roman", serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--leading-loose: 2;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--prose-sm: 600px;--prose-md: 680px;--prose-lg: 800px;--header-height-mobile: 56px;--header-height-desktop: 64px;--tap-target-min: 44px;--tap-target-comfortable: 48px;--sidebar-width-mobile: 100%;--sidebar-width-tablet: 320px;--sidebar-width-desktop: 380px;--sidebar-tab-width: 48px;--fab-size: 56px;--fab-margin: var(--space-4);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--border-width: 1px;--border-width-2: 2px;--border-width-4: 4px;--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-sparkles: 50;--z-countdown: 80;--z-fab: 85;--z-sidebar-tab: 90;--z-sidebar-overlay: 94;--z-sidebar: 95;--z-header: 100;--z-modal-backdrop: 1000;--z-modal: 1050;--z-toast: 1100;--color-primary: var(--brand-primary);--color-secondary: var(--neutral-500);--color-accent: var(--brand-accent);--color-accent-hover: var(--brand-accent-hover);--color-gold: #DAA520;--color-bg-light: var(--surface-page);--color-bg-white: var(--surface-card);--color-border-light: var(--neutral-200);--color-shadow: rgba(0, 0, 0, .08);--color-shadow-hover: rgba(0, 0, 0, .12);--header-height: var(--header-height-mobile);--sidebar-collapsed-width: var(--sidebar-tab-width);--sidebar-expanded-width: 350px}@media (min-width: 768px){:root{--header-height: var(--header-height-desktop)}}[data-theme=dark]{--brand-primary: #E5E5E5;--brand-accent: #5DD9D1;--brand-accent-hover: #4ECDC4;--state-draft: #F59E0B;--state-submitted: #34D399;--state-canonical: #E5E5E5;--state-celebration: #5DD9D1;--state-warning: #FBBF24;--state-error: #F87171;--state-success: #34D399;--neutral-50: #0F0F0F;--neutral-100: #171717;--neutral-200: #262626;--neutral-300: #404040;--neutral-400: #737373;--neutral-500: #A3A3A3;--neutral-600: #D4D4D4;--neutral-700: #E5E5E5;--neutral-800: #F5F5F5;--neutral-900: #FAFAFA;--surface-page: #0F0F0F;--surface-card: #1A1A1A;--surface-elevated: #242424;--surface-overlay: rgba(0, 0, 0, .7);--surface-overlay-light: rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .6);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .7);--focus-ring: 0 0 0 3px rgba(93, 217, 209, .4);--focus-ring-error: 0 0 0 3px rgba(248, 113, 113, .4);--color-primary: var(--brand-primary);--color-secondary: var(--neutral-500);--color-bg-light: var(--surface-page);--color-bg-white: var(--surface-card);--color-border-light: var(--neutral-200);--color-shadow: rgba(0, 0, 0, .4);--color-shadow-hover: rgba(0, 0, 0, .5)}:root{--theme-toggle-bg: #F3F4F6;--theme-toggle-bg-hover: #E5E7EB;--theme-toggle-icon: #1F2937}[data-theme=dark]{--theme-toggle-bg: #374151;--theme-toggle-bg-hover: #4B5563;--theme-toggle-icon: #FCD34D}@media (prefers-reduced-motion: reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--duration-slower: 0ms}}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.min-h-tap{min-height:var(--tap-target-min)}.font-reading{font-family:var(--font-reading)}.font-ui{font-family:var(--font-ui)}.font-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:var(--brand-primary)}.text-secondary{color:var(--neutral-500)}.text-accent{color:var(--brand-accent)}.text-success{color:var(--state-success)}.text-error{color:var(--state-error)}.text-warning{color:var(--state-warning)}.text-muted{color:var(--neutral-400)}.bg-page{background-color:var(--surface-page)}.bg-card{background-color:var(--surface-card)}.bg-accent{background-color:var(--brand-accent)}.bg-transparent{background-color:transparent}.border{border:var(--border-width) solid var(--neutral-200)}.border-2{border:var(--border-width-2) solid var(--neutral-200)}.border-none{border:none}.border-accent{border-color:var(--brand-accent)}.border-error{border-color:var(--state-error)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.transition{transition:all var(--duration-normal) var(--ease-in-out)}.transition-fast{transition:all var(--duration-fast) var(--ease-in-out)}.transition-slow{transition:all var(--duration-slow) var(--ease-in-out)}.transition-none{transition:none}.transform{transform:translateZ(0)}.translate-y-full{transform:translateY(100%)}.translate-x-full{transform:translate(100%)}.-translate-y-1{transform:translateY(-.25rem)}.-translate-y-2{transform:translateY(-.5rem)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus-visible:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.focus-visible:focus:not(:focus-visible){outline:none}@media (min-width: 640px){.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}}@media (min-width: 768px){.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:w-auto{width:auto}.md\:w-full{width:100%}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:p-6{padding:var(--space-6)}.md\:p-8{padding:var(--space-8)}.md\:px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.md\:px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.md\:text-lg{font-size:var(--text-lg)}.md\:text-xl{font-size:var(--text-xl)}.md\:text-2xl{font-size:var(--text-2xl)}.md\:gap-4{gap:var(--space-4)}.md\:gap-6{gap:var(--space-6)}.md\:static{position:static}.md\:relative{position:relative}.md\:fixed{position:fixed}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:w-auto{width:auto}.lg\:w-full{width:100%}.lg\:p-8{padding:var(--space-8)}.lg\:px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.lg\:text-xl{font-size:var(--text-xl)}.lg\:text-2xl{font-size:var(--text-2xl)}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:flex{display:flex}.xl\:hidden{display:none}}@media (hover: hover) and (pointer: fine){.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg)}.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}.hover\:-translate-y-2:hover{transform:translateY(-.5rem)}.hover\:bg-accent-hover:hover{background-color:var(--brand-accent-hover)}.hover\:scale-105:hover{transform:scale(1.05)}}.active\:scale-98:active{transform:scale(.98)}.active\:shadow-sm:active{box-shadow:var(--shadow-sm)}:root{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--surface-page);color:var(--brand-primary);line-height:var(--leading-normal)}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:9999;background-color:var(--brand-primary);color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:var(--font-medium);text-decoration:none;transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4);outline:2px solid var(--brand-accent);outline-offset:2px}.app{min-height:100vh;position:relative}.app.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:var(--color-secondary)}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height-mobile);background-color:var(--surface-card);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);z-index:var(--z-header)}.app-header.animating{transition:background-color 2s ease}@media (min-width: 768px){.app-header{height:var(--header-height-desktop);padding:0 var(--space-8)}}.app-header.gold-background{background-color:var(--brand-accent)}.header-left,.header-center,.header-right{flex:1}.header-left{display:flex;align-items:center;gap:var(--space-3)}.header-hamburger{display:flex;align-items:center;justify-content:center;width:var(--tap-target-min);height:var(--tap-target-min);background:none;border:none;padding:0;cursor:pointer;color:var(--brand-primary);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-in-out)}.header-hamburger:hover{background-color:var(--neutral-100)}.header-hamburger:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.hamburger-icon{width:24px;height:24px;display:flex;flex-direction:column;justify-content:space-around;padding:4px 0}.hamburger-icon span{display:block;width:100%;height:2px;background-color:currentColor;border-radius:1px;transition:all var(--duration-fast) var(--ease-in-out)}.header-center{display:flex;justify-content:center}.app-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--brand-primary);margin:0;white-space:nowrap}@media (min-width: 768px){.app-title{font-size:var(--text-2xl)}}.header-right{display:flex;justify-content:flex-end;align-items:center}.header-user-section{display:flex;align-items:center;gap:var(--space-3)}@media (min-width: 768px){.header-user-section{gap:var(--space-4)}}.mobile-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--surface-overlay);z-index:calc(var(--z-header) + 10);animation:fadeIn var(--duration-fast) var(--ease-out)}.mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;background-color:var(--surface-card);z-index:calc(var(--z-header) + 20);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:slideInLeft var(--duration-normal) var(--ease-out)}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--neutral-200)}.mobile-drawer-logo{font-weight:var(--font-semibold);color:var(--neutral-500);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);background-color:var(--surface-page);border-radius:var(--radius-md)}.mobile-drawer-close{background:none;border:none;font-size:2rem;color:var(--neutral-500);cursor:pointer;width:var(--tap-target-min);height:var(--tap-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-in-out)}.mobile-drawer-close:hover{background-color:var(--neutral-100);color:var(--brand-primary)}.mobile-drawer-content{flex:1;padding:var(--space-6);display:flex;flex-direction:column}.mobile-drawer-user{padding-bottom:var(--space-6);border-bottom:1px solid var(--neutral-200);margin-bottom:var(--space-6)}.mobile-drawer-actions{display:flex;flex-direction:column;gap:var(--space-3)}.mobile-drawer-btn{width:100%;min-height:var(--tap-target-min);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);background-color:var(--neutral-100);color:var(--brand-primary);border:none}.mobile-drawer-btn:hover{background-color:var(--neutral-200)}.mobile-drawer-btn-primary{background-color:var(--brand-accent);color:#fff}.mobile-drawer-btn-primary:hover{background-color:var(--brand-accent-hover)}@media (min-width: 768px){.mobile-drawer-overlay,.mobile-drawer{display:none}}.voting-fab{position:fixed;bottom:var(--space-4);right:var(--space-4);width:var(--fab-size);height:var(--fab-size);border-radius:var(--radius-full);background-color:var(--brand-accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-fab);box-shadow:var(--shadow-xl);border:none;transition:all var(--duration-normal) var(--ease-in-out)}.voting-fab:hover{background-color:var(--brand-accent-hover);transform:scale(1.05)}.voting-fab:active{transform:scale(.95)}.voting-fab:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.voting-fab-icon{font-size:1.5rem}.voting-fab-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;background-color:var(--state-error);color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 var(--space-1)}@media (min-width: 768px){.voting-fab{display:none}}.voting-sidebar-tab{display:none;position:fixed;right:0;top:50%;transform:translateY(-50%);width:var(--sidebar-tab-width);height:120px;background-color:var(--brand-accent);color:#fff;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-sidebar-tab);border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:all var(--duration-normal) var(--ease-in-out);border:none}@media (min-width: 768px){.voting-sidebar-tab{display:flex}}.voting-sidebar-tab:hover,.voting-sidebar-tab:active,.voting-sidebar-tab:focus{background-color:var(--brand-accent-hover);width:56px;transform:translateY(-50%)!important}.voting-sidebar-tab:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.voting-sidebar-tab.hidden{transform:translate(100%) translateY(-50%);opacity:0;pointer-events:none}.tab-text{writing-mode:vertical-rl;text-orientation:mixed;font-weight:var(--font-semibold);font-size:var(--text-base);letter-spacing:2px}.voting-sidebar{position:fixed;background-color:var(--surface-card);z-index:var(--z-sidebar);overflow-y:auto;transition:transform var(--duration-normal) var(--ease-out);left:0;right:0;bottom:0;top:calc(var(--header-height-mobile) + 16px);max-height:calc(100vh - var(--header-height-mobile) - 16px);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:0 -4px 20px #00000026;transform:translateY(100%)}@media (min-width: 768px){.voting-sidebar{top:var(--header-height-desktop);bottom:0;left:auto;right:0;width:var(--sidebar-width-tablet);max-height:none;border-radius:0;box-shadow:-4px 0 12px #00000014;transform:translate(100%)}}@media (min-width: 1024px){.voting-sidebar{width:var(--sidebar-width-desktop)}}.voting-sidebar.expanded{transform:translateY(0)}@media (min-width: 768px){.voting-sidebar.expanded{transform:translate(0)}}.sidebar-drag-handle{display:flex;justify-content:center;padding:var(--space-3) 0;cursor:grab}.sidebar-drag-handle:before{content:"";width:40px;height:4px;background-color:var(--neutral-300);border-radius:var(--radius-full)}@media (min-width: 768px){.sidebar-drag-handle{display:none}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--neutral-200);position:sticky;top:0;background-color:var(--surface-card);z-index:10}@media (min-width: 768px){.sidebar-header{padding:var(--space-6)}}.sidebar-header h2{font-size:var(--text-lg);margin:0;color:var(--brand-primary);font-weight:var(--font-semibold)}@media (min-width: 768px){.sidebar-header h2{font-size:var(--text-xl)}}.close-sidebar-btn{background:none;border:none;font-size:1.75rem;color:var(--neutral-500);cursor:pointer;padding:0;width:var(--tap-target-min);height:var(--tap-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-in-out)}.close-sidebar-btn:hover{background-color:var(--neutral-100);color:var(--brand-primary)}.close-sidebar-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.sidebar-content{padding:0}.sidebar-overlay{position:fixed;top:var(--header-height-mobile);left:0;right:0;bottom:0;background-color:var(--surface-overlay-light);z-index:var(--z-sidebar-overlay);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-in-out)}@media (min-width: 768px){.sidebar-overlay{top:0}}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.countdown-bar{display:block;position:fixed;bottom:0;left:0;right:0;height:6px;background-color:var(--neutral-200);z-index:calc(var(--z-countdown) + 2);overflow:hidden;transition:height var(--duration-normal) var(--ease-out)}.countdown-bar.expanded{height:48px;background-color:var(--surface-card);box-shadow:0 -2px 10px #0000001a}.countdown-bar-progress{position:absolute;top:0;left:0;height:6px;background-color:var(--brand-accent);transition:width 1s linear}.countdown-bar.expanded .countdown-bar-progress{height:4px}.countdown-bar-content{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:100%;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);padding:0 var(--space-4)}.countdown-bar.expanded .countdown-bar-content{opacity:1}.countdown-bar-label{font-size:var(--text-sm);color:var(--neutral-500)}.countdown-bar-time{font-size:var(--text-lg);font-family:var(--font-mono);color:var(--brand-primary)}.countdown-tab{display:flex;align-items:flex-start;justify-content:center;position:fixed;bottom:0;left:8px;width:36px;height:34px;padding-top:6px;background-color:var(--neutral-200);border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:calc(var(--z-countdown) + 1);cursor:pointer;color:var(--neutral-500);transition:color var(--duration-fast) var(--ease-out);box-shadow:none}.countdown-tab svg{display:block;flex-shrink:0}.countdown-tab:hover svg{color:var(--brand-accent)}@media (min-width: 768px){.countdown-bar,.countdown-tab{display:none}}.countdown-chip{display:none;position:fixed;z-index:var(--z-countdown);background-color:var(--surface-card);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);bottom:var(--space-6);left:var(--space-6)}@media (min-width: 768px){.countdown-chip{display:block}}.countdown-chip p{margin:0;color:var(--neutral-500);font-size:var(--text-base)}.countdown-chip strong{font-size:var(--text-xl);font-family:var(--font-mono);color:var(--brand-primary)}[data-theme=dark] .countdown-bar{background-color:var(--neutral-200)}[data-theme=dark] .countdown-bar.expanded{background-color:var(--surface-card);box-shadow:0 -2px 10px #0000004d}[data-theme=dark] .countdown-tab{background-color:var(--neutral-200)}[data-theme=dark] .countdown-chip{border:1px solid var(--neutral-200)}.main-content{max-width:var(--prose-lg);margin:0 auto;padding:calc(var(--header-height-mobile) + var(--space-4)) var(--space-4) var(--space-16) var(--space-4);min-height:100vh}@media (min-width: 768px){.main-content{padding:calc(var(--header-height-desktop) + var(--space-6)) var(--space-6) var(--space-16) var(--space-6)}}@media (min-width: 1024px){.main-content{padding:calc(var(--header-height-desktop) + var(--space-8)) var(--space-8) var(--space-16) var(--space-8)}}.content-spacer{height:var(--space-8)}@media (min-width: 768px){.content-spacer{height:var(--space-16)}}.story-container{margin-bottom:var(--space-8)}@media (min-width: 768px){.story-container{margin-bottom:var(--space-12)}}.contributors-toggle-btn{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-5);min-height:var(--tap-target-min);background-color:var(--brand-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--duration-fast) var(--ease-in-out);box-shadow:var(--shadow-md);width:100%}@media (min-width: 768px){.contributors-toggle-btn{width:auto;margin-bottom:var(--space-6);font-size:var(--text-base)}}.contributors-toggle-btn:hover{background-color:var(--brand-accent-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.contributors-toggle-btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.contributors-toggle-btn:disabled{background-color:var(--neutral-300);color:var(--neutral-500);cursor:not-allowed;transform:none;box-shadow:none}.story{position:relative;font-family:var(--font-reading);font-size:var(--text-lg);line-height:var(--leading-relaxed);text-align:left;background-color:var(--surface-card);padding:var(--space-5);padding-bottom:var(--space-16);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--duration-fast) var(--ease-in-out)}@media (min-width: 768px){.story{font-size:var(--text-xl);padding:var(--space-7);padding-bottom:var(--space-16);border-radius:var(--radius-xl)}}@media (min-width: 1024px){.story{padding:var(--space-8);padding-bottom:var(--space-16)}}.story.focused{box-shadow:0 6px 30px color-mix(in srgb,var(--brand-accent) 20%,transparent)}.story-sentence-wrapper,.story .last-line-container,.story-sentence-wrapper.last-sentence{display:inline}.story-sentence-wrapper.last-sentence .sentence-contributor-avatar{display:inline-block;vertical-align:middle;margin-right:.5rem}.sentence-contributor-avatar{display:inline-block;vertical-align:middle;width:24px;height:24px;border-radius:50%;margin-right:.5rem;text-align:center;line-height:24px;font-weight:700;color:#fff;font-size:.75rem;cursor:help;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px var(--color-shadow)}.sentence{display:inline}.typewriter-cursor{display:inline-block;width:2px;height:1.2rem;background-color:gold;margin-left:2px;animation:blink-cursor .75s step-end infinite}@keyframes blink-cursor{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.typewriter-cursor{animation:none;opacity:1}}.empty-message{margin-top:1rem;color:var(--color-secondary);font-style:italic}.submission-container{padding:2rem;background-color:var(--color-bg-white);border-radius:12px;box-shadow:0 2px 12px var(--color-shadow);margin-bottom:3rem}.submission-container h2{margin-bottom:1.5rem;color:var(--color-primary);font-size:1.3rem}.sentence-input-container{margin-bottom:1rem}.preview-sentence{padding:0;margin-bottom:.75rem;background-color:transparent;font-size:1.1rem;color:#d97706}.user-sentence{padding:1rem;margin-bottom:.75rem;background-color:#fffef0;border-radius:6px;box-shadow:0 4px 20px color-mix(in srgb,var(--color-gold) 50%,transparent);font-size:1.1rem}.confirmation{font-size:.9rem;color:var(--color-secondary);font-style:italic}.voting-container{padding:1.5rem}.voting-container h2{font-size:1.2rem;margin-bottom:1rem;color:var(--color-primary)}.vote-count{margin-bottom:1rem;font-weight:600;color:var(--color-primary)}.rollover-locked-notice{padding:.5rem .75rem;background:color-mix(in srgb,var(--brand-accent, #4ECDC4) 15%,transparent);color:var(--brand-accent, #4ECDC4);border-radius:6px;font-size:.9rem;font-style:italic;text-align:center;margin-bottom:.5rem}.candidates-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.candidate-item{padding:1rem;background-color:var(--color-bg-light);border-radius:8px;transition:all .2s ease;box-shadow:0 2px 6px var(--color-shadow)}.candidate-item:hover{box-shadow:0 4px 10px var(--color-shadow-hover);transform:translateY(-2px)}.candidate-item.voted{background-color:color-mix(in srgb,var(--brand-accent) 8%,white);box-shadow:0 4px 20px color-mix(in srgb,var(--brand-accent) 40%,transparent)}.candidate-text{margin-bottom:.75rem;font-size:1.05rem;line-height:1.6;color:var(--color-primary)}.candidate-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.vote-count-display{font-size:.9rem;color:var(--color-secondary);font-weight:500}.your-candidate{font-size:.9rem;color:var(--color-secondary);font-style:italic}.vote-action-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;background-color:var(--brand-accent)}.vote-action-btn:hover:not(:disabled){background-color:var(--brand-accent-hover);transform:none}.vote-action-btn.upvoted{background-color:var(--brand-accent);opacity:.9}.vote-action-btn.loading .button-text{visibility:hidden}.vote-action-btn.loading{background-color:var(--brand-accent);opacity:.8}.vote-action-btn .button-spinner{position:absolute;display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:vote-button-spin .8s linear infinite}@keyframes vote-button-spin{to{transform:rotate(360deg)}}.user-status{position:relative;margin-bottom:0;min-height:0}.user-status-empty{margin-bottom:0;min-height:0}.user-status-alerts-container{position:absolute;top:0;left:0;right:0;z-index:10}.status-alert{padding:1.25rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 8px var(--color-shadow);background-color:#fff}.ban-alert{border-left:4px solid #d32f2f;background-color:#ffebee}.suspension-alert{border-left:4px solid #f57c00;background-color:#fff3e0}.warning-alert{border-left:4px solid #fbc02d;background-color:#fffde7}.status-alert strong{display:block;margin-bottom:.5rem;font-size:1.05rem}button{background-color:var(--color-primary);color:#fff;border:none;padding:.6rem 1.2rem;cursor:pointer;font-size:1rem;border-radius:6px;transition:all .2s ease;box-shadow:0 2px 4px var(--color-shadow);font-weight:500}button:hover{background-color:var(--color-secondary);box-shadow:0 4px 8px var(--color-shadow-hover);transform:translateY(-1px)}button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;box-shadow:none;transform:none}button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px var(--color-shadow)}.link-button{background:none;color:var(--color-accent);text-decoration:underline;padding:0;border:none;cursor:pointer;font-size:inherit;box-shadow:none;font-weight:500}.link-button:hover{background:none;color:var(--color-accent-hover);transform:none}input,textarea{width:100%;padding:.75rem;border:2px solid var(--color-border-light);font-size:1rem;font-family:inherit;border-radius:6px;transition:all .2s ease;background-color:var(--color-bg-white)}input:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4ecdc41a}.error{color:#d32f2f;margin:.5rem 0;font-size:.95rem}.success{color:#388e3c;margin:.5rem 0;font-size:.95rem}.info-message{color:var(--color-secondary);font-style:italic;margin:1rem 0}.user-avatar-container{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;line-height:1;color:#fff;flex-shrink:0;box-shadow:0 2px 6px var(--color-shadow)}.username-display{font-weight:500;font-size:1rem;color:var(--color-primary)}.loading-avatar{animation:pulse 1.5s ease-in-out infinite}.spinner{width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--surface-overlay);display:flex;z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--duration-fast) var(--ease-out);align-items:flex-end;justify-content:center;padding:0}@media (min-width: 768px){.modal-overlay{align-items:center;padding:var(--space-4)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--surface-card);box-shadow:var(--shadow-xl);overflow-y:auto;z-index:var(--z-modal);animation:slideUp var(--duration-normal) var(--ease-out);width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--space-5);border-radius:0}@media (min-width: 768px){.modal-content{max-width:500px;height:auto;max-height:85vh;padding:var(--space-8);border-radius:var(--radius-xl);animation:fadeIn var(--duration-normal) var(--ease-out)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.modal-header h2{margin:0;font-size:var(--text-xl);color:var(--brand-primary);font-weight:var(--font-semibold)}@media (min-width: 768px){.modal-header h2{font-size:var(--text-2xl)}}.modal-close-btn{background:none;border:none;font-size:1.75rem;color:var(--neutral-500);cursor:pointer;padding:0;width:var(--tap-target-min);height:var(--tap-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-in-out);box-shadow:none}.modal-close-btn:hover{background-color:var(--neutral-100);color:var(--brand-primary);transform:none}.modal-close-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.auth-modal .form-group{margin-bottom:1rem}.auth-modal .submit-btn{width:100%;padding:.75rem;margin-top:.5rem;background-color:var(--brand-accent)}.auth-modal .submit-btn:hover:not(:disabled){background-color:var(--brand-accent-hover)}.auth-modal .submit-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.auth-modal .auth-toggle{margin-top:1.5rem;text-align:center;color:var(--color-secondary)}.auth-modal .forgot-password-link{margin-top:1rem;text-align:center}.auth-modal .forgot-password-description{color:var(--color-secondary);font-size:.95rem;margin-bottom:1rem;text-align:center}.auth-modal .auth-divider{display:flex;align-items:center;margin:1rem 0;gap:.75rem}.auth-modal .auth-divider:before,.auth-modal .auth-divider:after{content:"";flex:1;height:1px;background:var(--neutral-200)}.auth-modal .auth-divider span{color:var(--color-secondary);font-size:.85rem;text-transform:lowercase}.auth-modal .google-signin-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto;padding:0;background:var(--surface-card);border:1px solid var(--neutral-200);border-radius:50%;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s}.auth-modal .google-signin-btn:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--neutral-300);box-shadow:0 2px 4px #0000001a}.auth-modal .google-signin-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.auth-modal .google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.username-setup-modal h2{margin-bottom:1rem}.username-setup-modal p{margin-bottom:1.5rem;color:var(--color-secondary);line-height:1.5}.username-setup-modal .form-group{margin-bottom:1rem}.username-setup-modal label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-primary)}.username-setup-modal input{width:100%;padding:.75rem}.username-setup-modal .error-message{color:#d32f2f;margin:.5rem 0 1rem;font-size:.9rem}.username-requirements{margin:1.5rem 0;padding:1rem;background-color:var(--color-bg-light);border-left:4px solid var(--color-primary);border-radius:6px}.username-requirements h3{font-size:.9rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary)}.username-requirements ul{list-style:none;padding:0}.username-requirements li{padding:.25rem 0;font-size:.9rem;color:var(--color-secondary)}.username-requirements li:before{content:"• ";color:var(--color-primary);font-weight:700;margin-right:.5rem}.username-setup-modal button[type=submit]{width:100%;padding:.75rem;margin-top:1rem;background-color:var(--brand-accent)}.username-setup-modal button[type=submit]:hover:not(:disabled){background-color:var(--brand-accent-hover)}.username-setup-modal button[type=submit]:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.modal-description{margin-bottom:var(--space-6);color:var(--neutral-500);line-height:var(--leading-relaxed)}.modal-buttons{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}@media (min-width: 768px){.modal-buttons{flex-direction:row;justify-content:flex-end}}.modal-buttons button{width:100%;min-height:var(--tap-target-min)}@media (min-width: 768px){.modal-buttons button{width:auto;min-width:120px}}.modal-buttons .btn-primary,.modal-buttons button:last-child:not(.btn-cancel){background-color:#10b981;color:#fff}.modal-buttons .btn-primary:hover:not(:disabled),.modal-buttons button:last-child:not(.btn-cancel):hover:not(:disabled){background-color:#059669}.modal-buttons .btn-cancel,.modal-buttons button:first-child:not(:only-child){background-color:transparent;color:#ef4444;border:1px solid #EF4444}.modal-buttons .btn-cancel:hover:not(:disabled),.modal-buttons button:first-child:not(:only-child):hover:not(:disabled){background-color:#ef4444;color:#fff}.email-verification-modal{text-align:center}.verification-instructions{margin:2rem 0;color:var(--color-primary);line-height:1.6}.verification-instructions p{margin-bottom:.75rem}.spam-notice{margin-top:1.5rem;font-size:.9rem;color:var(--color-secondary)}.resend-btn{width:100%;padding:.75rem;margin-top:1.5rem;background-color:var(--brand-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px var(--color-shadow)}.resend-btn:hover:not(:disabled){background-color:var(--brand-accent-hover);box-shadow:0 4px 8px var(--color-shadow-hover);transform:translateY(-1px)}.resend-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.resend-btn:disabled{background-color:#ccc;color:#666;cursor:not-allowed;transform:none}.polling-indicator{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--color-secondary);font-size:.95rem}.inline-editor-wrapper{display:inline;position:relative;vertical-align:baseline}.inline-editor-wrapper:before{content:" "}.editor-placeholder{color:#999;font-style:italic;font-size:1.2rem;opacity:.7;pointer-events:none;-webkit-user-select:none;user-select:none}.empty-story-message{color:#999;font-style:italic;font-size:1.2rem;opacity:.7}.rollover-locked-message{color:var(--brand-accent, #4ECDC4);font-style:italic;font-size:1rem;opacity:.9;padding:.25rem .5rem;background:color-mix(in srgb,var(--brand-accent, #4ECDC4) 10%,transparent);border-radius:4px;display:inline-block}.story-inline-editor{display:inline;min-width:1ch;font-size:1.2rem;line-height:1.9;font-family:inherit;direction:ltr;text-align:left;color:#d97706;caret-color:#d97706;background-color:transparent;border:none;padding:2px 6px;border-radius:4px;white-space:normal;word-break:normal;overflow-wrap:break-word;cursor:text;outline:none;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.story-inline-editor.editor-focused{-webkit-user-select:text;user-select:text}.story-inline-editor:not(.editor-focused){caret-color:transparent}.pending-sentence{color:#10b981;padding:2px 6px;border-radius:4px;display:inline}.inline-submit-btn{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent);color:#fff;border:none;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px var(--color-shadow);opacity:0;transform:translateY(10px);animation:fadeInUp .3s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.inline-submit-btn:hover:not(:disabled){background-color:var(--color-accent-hover);box-shadow:0 4px 8px var(--color-shadow-hover);transform:translateY(-2px)}.inline-submit-btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.char-counter{position:absolute;bottom:1rem;right:1rem;font-size:.85rem;color:var(--color-secondary);transition:color .2s ease}.char-counter.over-limit{color:#ef4444;font-weight:600}.char-counter.under-min,.char-counter-hint{color:#ef4444}.submitted-text{position:absolute;bottom:1rem;left:1rem;color:#10b981;font-size:.95rem;font-weight:500;font-style:italic;display:inline-flex;align-items:center;gap:.5rem}.undo-submission-btn{background:none;border:1px solid #10B981;color:#10b981;font-size:1.1rem;width:24px;height:24px;border-radius:50%;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.undo-submission-btn:hover:not(:disabled){background-color:#10b981;color:#fff;transform:rotate(-30deg)}.undo-submission-btn:disabled{opacity:.5;cursor:not-allowed}.undo-counter{font-size:.75rem;color:var(--neutral-400);margin-left:4px}.undo-counter.undo-locked{color:#ef4444}@media (max-width: 480px){.header-user-section{gap:var(--space-2)}.user-avatar{width:36px;height:36px;font-size:var(--text-base)}.username-display{display:none}}.toast-container{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:var(--space-3);pointer-events:none;bottom:calc(var(--fab-size) + var(--space-4) + 80px + var(--space-4));left:var(--space-4);right:var(--space-4);max-width:none}@media (min-width: 768px){.toast-container{top:calc(var(--header-height-desktop) + var(--space-4));bottom:auto;right:var(--space-6);left:auto;max-width:400px;flex-direction:column}}.toast{background-color:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-4) var(--space-5);animation:slideInUp var(--duration-normal) var(--ease-out);pointer-events:auto}@media (min-width: 768px){.toast{animation:slideInRight var(--duration-normal) var(--ease-out);min-width:300px}}.toast-error{box-shadow:var(--shadow-xl),0 4px 20px color-mix(in srgb,#EF4444 40%,transparent)}.toast-success{box-shadow:var(--shadow-xl),0 4px 20px color-mix(in srgb,#10B981 40%,transparent)}.toast-info{box-shadow:var(--shadow-xl),0 4px 20px color-mix(in srgb,#9B5DE5 40%,transparent)}.toast-gold{background-color:#fff8e1;box-shadow:var(--shadow-xl),0 4px 20px color-mix(in srgb,#FFD700 50%,transparent)}.toast-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.toast-content p{margin:0;color:var(--brand-primary);font-size:var(--text-sm);line-height:var(--leading-normal);flex:1;white-space:pre-line}@media (min-width: 768px){.toast-content p{font-size:var(--text-base)}}.toast-category{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-base);margin-bottom:var(--space-2);color:var(--brand-primary)}.toast-icon{font-size:var(--text-xl);line-height:1}.toast-close-btn{background:none;border:none;font-size:1.5rem;color:var(--neutral-500);cursor:pointer;padding:0;width:var(--tap-target-min);height:var(--tap-target-min);min-width:var(--tap-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-in-out);flex-shrink:0}.toast-close-btn:hover{background-color:var(--neutral-100);color:var(--brand-primary)}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-history{position:fixed;bottom:1rem;right:1rem;z-index:1050;background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;max-width:350px;transition:all .3s ease}.toast-history.collapsed{width:auto}.toast-history.expanded{width:350px;max-height:500px;overflow:hidden;display:flex;flex-direction:column}.toast-history-toggle{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;transition:all .2s ease}.toast-history-toggle:hover{box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-1px)}.toast-history-content{padding:1rem;overflow-y:auto;max-height:400px}.toast-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border-light)}.toast-history-header h3{margin:0;font-size:1rem;color:var(--color-primary);font-weight:600}.toast-history-clear{background:none;border:none;color:var(--color-secondary);cursor:pointer;font-size:.85rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.toast-history-clear:hover{background-color:var(--color-bg-light);color:var(--color-primary)}.toast-history-list{display:flex;flex-direction:column;gap:.75rem}.toast-history-item{padding:.75rem;border-radius:6px;background-color:var(--color-bg-light);transition:all .2s ease}.toast-history-item:hover{transform:translate(-2px)}.toast-history-item-error{box-shadow:0 3px 14px color-mix(in srgb,#EF4444 35%,transparent)}.toast-history-item-success{box-shadow:0 3px 14px color-mix(in srgb,#10B981 35%,transparent)}.toast-history-item-info{box-shadow:0 3px 14px color-mix(in srgb,#9B5DE5 35%,transparent)}.toast-history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.toast-history-item-icon{font-size:1rem;display:flex;align-items:center;gap:.5rem}.toast-history-item-time{font-size:.75rem;color:var(--color-secondary)}.toast-history-item-category{font-size:.9rem;font-weight:600;color:var(--color-primary)}.toast-history-item-message{font-size:.85rem;color:var(--color-primary);line-height:1.4;word-wrap:break-word;white-space:pre-line}.toast-history-empty{padding:2rem 1rem;text-align:center;color:var(--color-secondary);font-size:.9rem}@media (max-width: 768px){.toast-history{right:.5rem;max-width:calc(100% - 1rem);bottom:4.5rem}.toast-history.expanded{width:auto}.toast-history-content{max-height:300px}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--theme-toggle-bg);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--theme-toggle-icon);transition:background-color var(--duration-fast) var(--ease-in-out),transform var(--duration-fast) var(--ease-in-out);box-shadow:none;margin-right:var(--space-3)}.theme-toggle:hover{background-color:var(--theme-toggle-bg-hover);transform:scale(1.05)}.theme-toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.theme-toggle:active{transform:scale(.95)}.theme-toggle-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;transition:transform var(--duration-fast) var(--ease-in-out)}.theme-toggle-icon svg{display:block;width:20px;height:20px}.theme-toggle-icon .sun-icon{color:var(--brand-accent)}.theme-toggle:hover .theme-toggle-icon{transform:rotate(15deg)}[data-theme=dark] body{color-scheme:dark}[data-theme=dark] .story,[data-theme=dark] .modal-content{border:1px solid var(--neutral-200)}[data-theme=dark] .voting-sidebar{border-left:1px solid var(--neutral-200)}[data-theme=dark] .toast,[data-theme=dark] .countdown-fixed{border:1px solid var(--neutral-200)}[data-theme=dark] .toast-history{background-color:var(--surface-card);border:1px solid var(--neutral-200)}[data-theme=dark] .toast-history-toggle{background:linear-gradient(135deg,var(--brand-accent) 0%,var(--brand-accent-hover) 100%)}[data-theme=dark] .toast-history-item{background-color:var(--surface-elevated)}[data-theme=dark] .candidate-item{background-color:var(--surface-elevated);border:1px solid var(--neutral-200)}[data-theme=dark] .candidate-item.voted{background-color:color-mix(in srgb,var(--brand-accent) 10%,var(--surface-elevated));border-left:4px solid var(--brand-accent)}[data-theme=dark] .status-alert{background-color:var(--surface-card)}[data-theme=dark] .ban-alert{background-color:#ef44441a}[data-theme=dark] .suspension-alert{background-color:#f59e001a}[data-theme=dark] .warning-alert{background-color:#fbc02d1a}[data-theme=dark] .username-requirements{background-color:var(--surface-elevated)}[data-theme=dark] input,[data-theme=dark] textarea{background-color:var(--surface-elevated);border-color:var(--neutral-200);color:var(--brand-primary)}[data-theme=dark] input:focus,[data-theme=dark] textarea:focus{border-color:var(--brand-accent)}[data-theme=dark] .user-sentence{background-color:var(--surface-elevated)}[data-theme=dark] .toast-gold{background-color:#ffd7001a}[data-theme=dark] .app-header.gold-background{background-color:var(--brand-accent)}[data-theme=dark] .story-inline-editor{color:var(--state-draft);caret-color:var(--state-draft)}[data-theme=dark] .pending-sentence{color:var(--state-submitted)}[data-theme=dark] .typewriter-cursor{background-color:var(--state-warning)}.universal-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--surface-overlay);z-index:calc(var(--z-header) + 10);animation:fadeIn var(--duration-fast) var(--ease-out)}.universal-drawer{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:85vw;background-color:var(--surface-card);z-index:calc(var(--z-header) + 20);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:slideInLeft var(--duration-normal) var(--ease-out);outline:none}@media (min-width: 768px){.universal-drawer{width:320px;max-width:320px}}.universal-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--neutral-200);min-height:var(--header-height-mobile)}@media (min-width: 768px){.universal-drawer-header{min-height:var(--header-height-desktop)}}.universal-drawer-logo{font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--brand-primary)}.universal-drawer-close{background:none;border:none;font-size:2rem;color:var(--neutral-500);cursor:pointer;width:var(--tap-target-min);height:var(--tap-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-in-out);box-shadow:none}.universal-drawer-close:hover{background-color:var(--neutral-100);color:var(--brand-primary);transform:none}.universal-drawer-content{flex:1;overflow-y:auto;padding:var(--space-4)}.universal-drawer-section{margin-bottom:var(--space-4)}.universal-drawer-section-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-in-out)}.universal-drawer-section-toggle:hover{background-color:var(--neutral-100)}.universal-drawer-section-toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.universal-drawer-section-toggle-left{display:flex;align-items:center;gap:var(--space-2)}.universal-drawer-chevron{display:flex;align-items:center;justify-content:center;color:var(--neutral-500);transition:transform var(--duration-fast) var(--ease-in-out)}.universal-drawer-chevron.expanded{transform:rotate(90deg)}.universal-drawer-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-700)}.universal-drawer-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-2);background-color:var(--brand-accent);color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.universal-drawer-clear-btn{background:none;border:none;color:var(--brand-accent);cursor:pointer;font-size:var(--text-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-in-out);box-shadow:none}.universal-drawer-clear-btn:hover{background-color:var(--neutral-100);transform:none}.universal-drawer-collapse{max-height:0;overflow:hidden;transition:max-height var(--duration-normal) var(--ease-in-out)}.universal-drawer-collapse.expanded{max-height:500px}.universal-drawer-notifications{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-3)}.universal-drawer-notification{padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--surface-page);transition:all var(--duration-fast) var(--ease-in-out)}.universal-drawer-notification:hover{transform:translate(2px)}.universal-drawer-notification-error{box-shadow:0 2px 8px color-mix(in srgb,#EF4444 20%,transparent)}.universal-drawer-notification-success{box-shadow:0 2px 8px color-mix(in srgb,#10B981 20%,transparent)}.universal-drawer-notification-info{box-shadow:0 2px 8px color-mix(in srgb,#9B5DE5 20%,transparent)}.universal-drawer-notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.universal-drawer-notification-icon{display:flex;align-items:center;gap:var(--space-2)}.universal-drawer-notification-category{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--brand-primary)}.universal-drawer-notification-time{font-size:var(--text-xs);color:var(--neutral-500)}.universal-drawer-notification-message{font-size:var(--text-sm);color:var(--neutral-600);line-height:var(--leading-normal);word-wrap:break-word;white-space:pre-line}.universal-drawer-empty{color:var(--neutral-500);font-size:var(--text-sm);font-style:italic;text-align:center;padding:var(--space-6) 0}.universal-drawer-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--neutral-200);display:flex;flex-direction:column;gap:var(--space-3)}.universal-drawer-user{padding-bottom:var(--space-3);border-bottom:1px solid var(--neutral-200)}.universal-drawer-actions{display:flex;gap:var(--space-2);width:100%}.universal-drawer-signout{flex:1;min-height:var(--tap-target-min);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);background-color:var(--brand-accent);color:#fff;border:none}.universal-drawer-signout:hover{background-color:var(--brand-accent-hover);transform:translateY(-1px)}.universal-drawer-admin-btn{display:flex;align-items:center;justify-content:center;width:48px;min-height:var(--tap-target-min);padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);background-color:var(--neutral-100);color:var(--brand-accent);border:var(--border-width) solid var(--brand-accent);flex-shrink:0}.universal-drawer-admin-btn:hover{background-color:var(--brand-accent);color:#fff;transform:translateY(-1px)}[data-theme=dark] .universal-drawer-admin-btn{background-color:var(--neutral-800);color:var(--brand-accent);border-color:var(--brand-accent)}[data-theme=dark] .universal-drawer-admin-btn:hover{background-color:var(--brand-accent);color:#fff}.universal-drawer-login{width:100%;min-height:var(--tap-target-min);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);background-color:var(--brand-accent);color:#fff;border:none}.universal-drawer-login:hover{background-color:var(--brand-accent-hover);transform:translateY(-1px)}[data-theme=dark] .universal-drawer{border-right:1px solid var(--neutral-200)}[data-theme=dark] .universal-drawer-section-toggle:hover{background-color:var(--neutral-200)}[data-theme=dark] .universal-drawer-section-title{color:var(--neutral-600)}[data-theme=dark] .universal-drawer-notification{background-color:var(--surface-elevated)}.universal-drawer-settings{padding:var(--space-2) var(--space-3) var(--space-3)}.settings-option{display:flex;flex-direction:column;gap:var(--space-2)}.settings-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-600)}.accent-color-picker{display:flex;gap:var(--space-2);flex-wrap:wrap}.accent-color-swatch{width:32px;height:32px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);box-shadow:var(--shadow-sm)}.accent-color-swatch:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.accent-color-swatch:focus-visible{outline:2px solid var(--neutral-700);outline-offset:2px}.accent-color-swatch.selected{border-color:var(--neutral-800);box-shadow:var(--shadow-md),inset 0 0 0 2px #fff}[data-theme=dark] .settings-label{color:var(--neutral-500)}[data-theme=dark] .accent-color-swatch.selected{border-color:var(--neutral-200);box-shadow:var(--shadow-md),inset 0 0 0 2px #0000004d}.sign-in-prompt{display:flex;align-items:center;gap:var(--space-2);color:var(--brand-accent);-webkit-user-select:none;user-select:none}.sign-in-text{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}@media (min-width: 768px){.sign-in-text{font-size:var(--text-base)}}@media (max-width: 420px){.sign-in-text{display:none}}.sign-in-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--brand-accent);animation:pointLeft 2s var(--ease-in-out) infinite}@keyframes pointLeft{0%,to{transform:translate(0);opacity:1}50%{transform:translate(-6px);opacity:.7}}@media (prefers-reduced-motion: reduce){.sign-in-arrow{animation:none}.sign-in-arrow{animation:subtlePulse 3s ease-in-out infinite}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.6}}}[data-theme=dark] .sign-in-prompt,[data-theme=dark] .sign-in-arrow{color:var(--brand-accent)}
