.issues-list{max-width:960px;margin:0 auto;padding:var(--space-8)}.issues-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.issues-header h2{font-size:1.75rem;font-weight:700;color:var(--color-gray-900)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.create-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-primary);color:white;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-weight:600;font-size:.9375rem;text-decoration:none;box-shadow:0 2px 4px rgba(99,102,241,.3);transition:all var(--transition-fast)}.create-btn:hover{background:var(--color-primary-hover);color:white;box-shadow:0 4px 8px rgba(99,102,241,.4);transform:translateY(-1px)}.project-selector{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6)}.project-selector label{font-weight:600;color:var(--color-gray-900)}.field-error{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:.875rem;color:var(--color-danger)}.field-error:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ef4444' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z'/%3e%3c/svg%3e");background-size:contain;flex-shrink:0}.filters{display:flex;gap:var(--space-4);align-items:flex-end;margin-bottom:var(--space-6);flex-wrap:wrap;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.filter-group label{font-size:.8125rem;font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.025em;margin-bottom:0}.filter-group select{min-width:140px;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-size:.875rem}.refresh-btn{margin-left:auto;padding:var(--space-2) var(--space-4);background:white;color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-weight:500;display:inline-flex;align-items:center;gap:var(--space-2)}.refresh-btn:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15'/%3e%3c/svg%3e");background-size:contain}.refresh-btn:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-400)}.error-message{background:var(--color-danger-light);color:var(--color-danger-dark);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:.9375rem;border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;gap:var(--space-3)}.error-message:before{content:"";width:20px;height:20px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23dc2626' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z'/%3e%3c/svg%3e");background-size:contain;flex-shrink:0}.loading{color:var(--color-gray-500)}.empty-state,.loading{text-align:center;padding:var(--space-12)}.empty-state{background:var(--color-gray-50);border:2px dashed var(--color-gray-200);border-radius:var(--radius-xl)}.empty-state p{color:var(--color-gray-500);font-size:1.0625rem;margin-bottom:var(--space-4)}.empty-state a{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-weight:500}.empty-state a:hover{text-decoration:underline}.no-project-message,.not-initialized-message{text-align:center;padding:var(--space-12);background:var(--color-gray-50);border:2px dashed var(--color-gray-200);border-radius:var(--radius-xl)}.no-project-message p,.not-initialized-message p{color:var(--color-gray-500);font-size:1.0625rem;margin-bottom:var(--space-4)}.not-initialized-message a{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-weight:500}.not-initialized-message a:hover{text-decoration:underline}.issues-table{overflow-x:auto;background:white;border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.issues-table table{width:100%;border-collapse:collapse}.issues-table th{padding:var(--space-3);text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}.th-content{display:flex;flex-direction:column;gap:var(--space-2)}.sort-btn{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;padding:var(--space-1) 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);cursor:pointer;transition:color var(--transition-fast)}.sort-btn:hover{color:var(--color-gray-700)}.sort-btn.sorted{color:var(--color-primary)}.sort-indicator{font-size:.625rem;line-height:1}.column-filter{width:100%;padding:var(--space-1) var(--space-2);font-size:.75rem;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:white;color:var(--color-gray-700);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.column-filter::placeholder{color:var(--color-gray-400)}.column-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(99,102,241,.1)}select.column-filter{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-1) center;background-repeat:no-repeat;background-size:1rem;padding-right:var(--space-5)}.issues-table td{padding:var(--space-4);border-bottom:1px solid var(--color-gray-100);vertical-align:middle}.issues-table tbody tr{transition:background var(--transition-fast)}.issues-table tbody tr:hover{background:var(--color-gray-50)}.issues-table tbody tr:last-child td{border-bottom:none}.issue-number a,.issue-number-link{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:var(--space-1) var(--space-2);background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.8125rem;font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.issue-number a:hover,.issue-number-link:hover{background:var(--color-primary);color:white}.issue-number-copy-btn{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:var(--space-1) var(--space-2);background:var(--color-primary-light);color:var(--color-primary);border:none;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.issue-number-copy-btn:hover{background:var(--color-primary);color:white}.issue-title a,.issue-title-link{color:var(--color-gray-900);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.issue-title a:hover,.issue-title-link:hover{color:var(--color-primary)}.issue-date{color:var(--color-gray-500);font-size:.875rem;white-space:nowrap}.priority-badge,.status-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.status-open{background:var(--color-success-light);color:var(--color-success-dark)}.status-in-progress{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-closed{background:var(--color-gray-100);color:var(--color-gray-600)}.priority-high{background:var(--color-danger-light);color:var(--color-danger-dark)}.priority-medium{background:var(--color-warning-light);color:var(--color-warning-dark)}.priority-low{background:#dbeafe;color:#1d4ed8}@media (max-width:768px){.issues-list{padding:var(--space-5)}.issues-header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.issues-header h2{font-size:1.5rem}.create-btn{justify-content:center}.filters{flex-direction:column;align-items:stretch}.filter-group,.filter-group select{width:100%}.refresh-btn{margin-left:0;justify-content:center}.issues-table td:nth-child(5),.issues-table th:nth-child(5){display:none}}@media (max-width:480px){.issues-table td:nth-child(4),.issues-table th:nth-child(4){display:none}}.settings-page{max-width:800px;margin:0 auto;padding:var(--space-8)}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.settings-page h2{font-size:1.75rem;font-weight:700;margin:0;color:var(--color-gray-900)}.unsaved-indicator{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.unsaved-indicator:before{content:"";width:8px;height:8px;background:var(--color-warning);border-radius:50%;margin-right:var(--space-2)}.settings-section{margin-bottom:var(--space-6)}.settings-section h3{font-size:1.125rem;font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-3)}.settings-card{background:white;border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-4)}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-item.warning{background:var(--color-warning-light);padding:var(--space-3);border-radius:var(--radius-md)}.info-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500)}.info-value{font-size:1rem;color:var(--color-gray-900);font-weight:500}.info-value.status-equal{color:var(--color-success)}.info-value.status-project_behind{color:var(--color-warning-dark)}.info-value.status-project_ahead{color:var(--color-danger)}.daemon-controls{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-gray-100)}.restart-btn{padding:var(--space-2) var(--space-4);background:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning);border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.restart-btn:hover:not(:disabled){background:var(--color-warning);color:white}.shutdown-btn{padding:var(--space-2) var(--space-4);background:var(--color-danger-light);color:var(--color-danger-dark);border:1px solid var(--color-danger);border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.shutdown-btn:hover:not(:disabled){background:var(--color-danger);color:white}.confirm-dialog{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg)}.confirm-dialog.danger{background:var(--color-danger-light);border-color:rgba(239,68,68,.2)}.confirm-dialog p{color:var(--color-gray-700);margin-bottom:var(--space-3)}.confirm-dialog.danger p{color:var(--color-danger-dark)}.confirm-actions{display:flex;gap:var(--space-2)}.cancel-btn{padding:var(--space-2) var(--space-4);background:white;color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer}.cancel-btn:hover{background:var(--color-gray-100)}.confirm-btn{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer}.confirm-btn:hover{background:var(--color-primary-hover)}.confirm-danger-btn{padding:var(--space-2) var(--space-4);background:var(--color-danger);color:white;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer}.confirm-danger-btn:hover{background:var(--color-danger-dark)}.version-update{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-gray-100)}.version-update label{font-size:.875rem;font-weight:500;color:var(--color-gray-700)}.version-update select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;min-width:150px}.update-btn{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer}.update-btn:hover:not(:disabled){background:var(--color-primary-hover)}.update-btn:disabled{opacity:.5;cursor:not-allowed}.config-details{flex-direction:column}.config-details,.config-row{display:flex;gap:var(--space-3)}.config-row{padding:var(--space-2) 0;border-bottom:1px solid var(--color-gray-100)}.config-row:last-child{border-bottom:none}.config-label{font-weight:600;color:var(--color-gray-600);min-width:150px}.config-value{color:var(--color-gray-900)}.custom-fields-list{display:flex;flex-direction:column;gap:var(--space-2)}.custom-field{font-size:.875rem;color:var(--color-gray-700)}.manifest-details{display:flex;flex-direction:column;gap:var(--space-4)}.managed-files h4{font-size:.875rem;font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}.files-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto;padding:var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-md)}.file-item{display:flex;justify-content:space-between;gap:var(--space-3);font-size:.8125rem}.file-path{color:var(--color-gray-700)}.file-hash,.file-path{font-family:var(--font-mono)}.file-hash{color:var(--color-gray-400)}.settings-page .error-message{background:var(--color-danger-light);color:var(--color-danger-dark);border-radius:var(--radius-lg);border:1px solid rgba(239,68,68,.2)}.settings-page .error-message,.settings-page .success-message{padding:var(--space-4);margin-bottom:var(--space-6);font-size:.9375rem}.settings-page .success-message{background:var(--color-success-light);color:var(--color-success-dark);border-radius:var(--radius-lg);border:1px solid rgba(16,185,129,.2)}.settings-page .loading{text-align:center;padding:var(--space-12);color:var(--color-gray-500)}.loading-inline{color:var(--color-gray-500);font-style:italic}.settings-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);margin-bottom:var(--space-6);position:-webkit-sticky;position:sticky;bottom:var(--space-4);box-shadow:var(--shadow-lg)}.reset-btn{padding:var(--space-3) var(--space-5);background:white;color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;cursor:pointer;transition:all var(--transition-fast)}.reset-btn:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-400)}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn{padding:var(--space-3) var(--space-5);background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;cursor:pointer;transition:all var(--transition-fast)}.save-btn:hover:not(:disabled){background:var(--color-primary-hover)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-page .no-project-message,.settings-page .not-initialized-message{text-align:center;padding:var(--space-12);background:var(--color-gray-50);border:2px dashed var(--color-gray-200);border-radius:var(--radius-xl)}.settings-page .no-project-message p,.settings-page .not-initialized-message p{color:var(--color-gray-500);font-size:1.0625rem;margin-bottom:var(--space-4)}.settings-page .not-initialized-message a{color:var(--color-primary);font-weight:500}.daemon-settings{display:flex;flex-direction:column;gap:var(--space-4)}.daemon-settings .settings-description{color:var(--color-gray-600);font-size:.9375rem;margin:0}.daemon-url-input{display:flex;flex-direction:column;gap:var(--space-2)}.daemon-url-input label{font-size:.875rem;font-weight:600;color:var(--color-gray-700)}.daemon-url-input .input-with-button{display:flex;gap:var(--space-2)}.daemon-url-input input{flex:1 1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.9375rem;font-family:var(--font-mono)}.daemon-url-input input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.custom-url-badge{font-size:.75rem;color:var(--color-primary);font-weight:500}.help-toggle{background:none;border:none;color:var(--color-primary);font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline;align-self:flex-start}.help-toggle:hover{color:var(--color-primary-hover)}.daemon-help{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-4);font-size:.875rem}.daemon-help h4{font-size:.9375rem;font-weight:600;color:var(--color-gray-800);margin:0 0 var(--space-2) 0}.daemon-help h4:not(:first-child){margin-top:var(--space-4)}.daemon-help p{line-height:1.5}.daemon-help ol,.daemon-help p,.daemon-help ul{color:var(--color-gray-600);margin:0 0 var(--space-2) 0}.daemon-help ol,.daemon-help ul{padding-left:var(--space-5)}.daemon-help li{margin-bottom:var(--space-2);line-height:1.5}.daemon-help pre{background:var(--color-gray-800);color:var(--color-gray-100);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-2) 0}.daemon-help code:not(pre code),.daemon-help pre code{font-family:var(--font-mono);font-size:.8125rem}.daemon-help code:not(pre code){background:var(--color-gray-200);color:var(--color-gray-800);padding:.125rem .375rem;border-radius:var(--radius-sm)}@media (max-width:768px){.settings-page{padding:var(--space-5)}.settings-page h2{font-size:1.5rem}.info-grid{grid-template-columns:1fr}.daemon-controls,.version-update{flex-direction:column}.version-update{align-items:stretch}.config-row{flex-direction:column;gap:var(--space-1)}.config-label{min-width:unset}.settings-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.settings-actions{flex-direction:column;position:static;box-shadow:var(--shadow-sm)}.reset-btn,.save-btn{width:100%;justify-content:center}}.shared-assets{max-width:960px;margin:0 auto;padding:var(--space-8)}.shared-assets-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.shared-assets-header h2{font-size:1.75rem;font-weight:700;color:var(--color-gray-900)}.shared-assets-header .header-actions{display:flex;align-items:center;gap:var(--space-3)}.shared-assets-header .refresh-btn{padding:var(--space-2) var(--space-4);background:white;color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-weight:500}.shared-assets-header .refresh-btn:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-400)}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.asset-card{position:relative;background:white;border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.asset-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.asset-preview{aspect-ratio:1;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;cursor:pointer}.preview-placeholder{font-size:1.5rem;font-weight:700;color:var(--color-gray-400);padding:var(--space-4);border-radius:var(--radius-md)}.preview-placeholder.image{background:var(--color-primary-light);color:var(--color-primary)}.preview-placeholder.video{background:var(--color-warning-light);color:var(--color-warning-dark)}.preview-placeholder.file{background:var(--color-gray-200);color:var(--color-gray-500)}.asset-info{padding:var(--space-3)}.asset-filename{display:block;font-size:.875rem;font-weight:600;color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}.asset-meta{display:flex;gap:var(--space-2);font-size:.75rem;color:var(--color-gray-500)}.asset-size{font-weight:500}.asset-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-delete-btn{position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;border-radius:var(--radius-full);background:rgba(255,255,255,.9);color:var(--color-gray-500);border:none;font-size:.875rem;font-weight:600;cursor:pointer;opacity:0;transition:all var(--transition-fast)}.asset-card:hover .asset-delete-btn{opacity:1}.asset-delete-btn:hover{background:var(--color-danger);color:white}.delete-confirm-overlay{position:absolute;inset:0;background:rgba(255,255,255,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3)}.delete-confirm-overlay p{font-size:.8125rem;color:var(--color-gray-700);text-align:center}.delete-confirm-actions{display:flex;gap:var(--space-2)}.delete-confirm-actions .cancel-btn,.delete-confirm-actions .confirm-delete-btn{padding:var(--space-1) var(--space-3);font-size:.75rem;border-radius:var(--radius-md);font-weight:500}.delete-confirm-actions .cancel-btn{background:white;color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.delete-confirm-actions .confirm-delete-btn{background:var(--color-danger);color:white;border:none}.preview-modal{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-8)}.preview-modal-content{position:relative;background:white;border-radius:var(--radius-xl);padding:var(--space-6);max-width:90vw;max-height:90vh;overflow:auto}.preview-modal-content h3{font-size:1.125rem;font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-4);padding-right:var(--space-8)}.preview-modal-content img,.preview-modal-content video{max-width:100%;max-height:70vh;border-radius:var(--radius-md)}.preview-close-btn{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-gray-100);color:var(--color-gray-700);border:none;font-size:1rem;font-weight:600;cursor:pointer}.preview-close-btn:hover{background:var(--color-gray-200)}.preview-download{padding:var(--space-8);text-align:center}.preview-download a{display:inline-block;padding:var(--space-3) var(--space-6);background:var(--color-primary);color:white;border-radius:var(--radius-lg);font-weight:600;text-decoration:none}.preview-download a:hover{background:var(--color-primary-hover)}.shared-assets .loading{text-align:center;padding:var(--space-12);color:var(--color-gray-500)}.shared-assets .error-message{background:var(--color-danger-light);color:var(--color-danger-dark);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:.9375rem;border:1px solid rgba(239,68,68,.2)}.shared-assets .empty-state{text-align:center;padding:var(--space-12);background:var(--color-gray-50);border:2px dashed var(--color-gray-200);border-radius:var(--radius-xl)}.shared-assets .empty-state p{color:var(--color-gray-500);font-size:1.0625rem;margin-bottom:var(--space-2)}.shared-assets .empty-state .hint{font-size:.875rem;color:var(--color-gray-400)}.shared-assets .no-project-message,.shared-assets .not-initialized-message{text-align:center;padding:var(--space-12);background:var(--color-gray-50);border:2px dashed var(--color-gray-200);border-radius:var(--radius-xl)}.shared-assets .no-project-message p,.shared-assets .not-initialized-message p{color:var(--color-gray-500);font-size:1.0625rem;margin-bottom:var(--space-4)}.shared-assets .not-initialized-message a{color:var(--color-primary);font-weight:500}@media (max-width:768px){.shared-assets{padding:var(--space-5)}.shared-assets-header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.shared-assets-header h2{font-size:1.5rem}.assets-grid{grid-template-columns:repeat(2,1fr)}.preview-modal{padding:var(--space-4)}}@media (max-width:480px){.assets-grid{grid-template-columns:1fr}}:root{--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-light:#e0e7ff;--color-primary-dark:#3730a3;--color-success:#10b981;--color-success-light:#d1fae5;--color-success-dark:#059669;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-warning-dark:#d97706;--color-danger:#ef4444;--color-danger-light:#fee2e2;--color-danger-dark:#dc2626;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;--font-mono:"JetBrains Mono","Fira Code","SF Mono",Consolas,monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-gray-800);background-color:var(--color-gray-50)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.3;color:var(--color-gray-900)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}p{margin:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.5;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:.9375rem;line-height:1.5;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);background-color:white;color:var(--color-gray-800);transition:all var(--transition-fast);width:100%}input::placeholder,textarea::placeholder{color:var(--color-gray-400)}input:hover,select:hover,textarea:hover{border-color:var(--color-gray-400)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}textarea{resize:vertical;min-height:120px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:1.25rem;padding-right:var(--space-10);-webkit-appearance:none;-moz-appearance:none;appearance:none}label{display:block;font-size:.875rem;font-weight:500;color:var(--color-gray-700);margin-bottom:var(--space-2)}code{font-family:var(--font-mono);font-size:.875em;background-color:var(--color-gray-100);padding:.125rem .375rem;border-radius:var(--radius-sm);color:var(--color-primary-dark)}.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}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--space-6) var(--space-8);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-lg)}.header-top{justify-content:space-between;gap:var(--space-4)}.header-controls,.header-top{display:flex;align-items:center}.header-controls{gap:var(--space-3)}.app-header h1{font-size:1.75rem;font-weight:700;margin:0;letter-spacing:-.025em}.app-header h1 a{color:white;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);transition:opacity var(--transition-fast)}.app-header h1 a:hover{opacity:.9;color:white}.app-header h1 a:before{content:"";display:inline-block;width:32px;height:32px;background:rgba(255,255,255,.2);border-radius:var(--radius-md);background-image:url(/icon.svg);background-repeat:no-repeat;background-position:50%;background-size:20px}.app-header p{margin:var(--space-1) 0 0;color:rgba(255,255,255,.85);font-size:.9375rem;font-weight:400}.app-nav{display:flex;gap:var(--space-2);margin-top:var(--space-5)}.app-nav a{color:rgba(255,255,255,.75);text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:.9375rem;font-weight:500;transition:all var(--transition-fast);position:relative}.app-nav a:hover{color:white;background:rgba(255,255,255,.15)}.app-nav a.active{color:white;background:rgba(255,255,255,.2)}.app-nav a.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:20px;height:3px;background:white;border-radius:var(--radius-full)}.app-nav a.external-link{margin-left:auto;border:1px solid rgba(255,255,255,.3)}main{flex:1 1;background:white;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;margin-top:-var(--space-4);position:relative;box-shadow:var(--shadow-xl)}@media (max-width:640px){.app-header{padding:var(--space-4) var(--space-4);text-align:center}.app-header h1{font-size:1.5rem}.app-header h1 a:before{display:none}.app-header p{font-size:.875rem}.app-nav{justify-content:center;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-4)}.app-nav a{padding:var(--space-2) var(--space-3);font-size:.875rem}}.daemon-disconnected-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.daemon-disconnected-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:48px;max-width:480px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.4)}.daemon-disconnected-icon{color:#e74c3c;margin-bottom:24px}.daemon-disconnected-content h2{margin:0 0 16px;font-size:24px;font-weight:600;color:#fff}.daemon-disconnected-content p{margin:0 0 24px;color:#888;line-height:1.6}.daemon-disconnected-instructions{background:#0d0d0d;border:1px solid #333;border-radius:8px;padding:16px;margin-bottom:24px}.daemon-disconnected-instructions p{margin:0 0 8px;font-size:14px;color:#666}.daemon-disconnected-instructions code{display:block;background:#1a1a1a;color:#4ade80;padding:12px 16px;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:14px}.daemon-retry-button{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s ease}.daemon-retry-button:hover{background:#2563eb}.daemon-retry-button:active{background:#1d4ed8}.daemon-status-indicator{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#888;cursor:pointer;font-size:.8em;transition:all .2s}.daemon-status-indicator:hover{background:#333;border-color:#555}.daemon-status-dot{width:8px;height:8px;border-radius:50%;transition:background-color .2s}.daemon-status-indicator.connected .daemon-status-dot{background-color:#4ade80;box-shadow:0 0 6px rgba(74,222,128,.5)}.daemon-status-indicator.disconnected .daemon-status-dot{background-color:#ef4444;box-shadow:0 0 6px rgba(239,68,68,.5)}.daemon-status-indicator.checking .daemon-status-dot{background-color:#fbbf24;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.daemon-status-label{white-space:nowrap}.daemon-status-indicator.connected{border-color:rgba(74,222,128,.3)}.daemon-status-indicator.disconnected{border-color:rgba(239,68,68,.3)}.daemon-status-indicator.checking{border-color:rgba(251,191,36,.3)}.project-selector-container{position:relative}.project-selector-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;cursor:pointer;min-width:200px;transition:all .2s}.project-selector-trigger:hover{background:#333;border-color:#555}.project-icon{font-size:1.1em}.project-name{flex:1 1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:.7em;color:#888}.project-selector-dropdown{width:350px;max-height:min(70vh,600px);background:#2a2a2a;border:1px solid #444;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:1000;overflow:hidden;display:flex;flex-direction:column}.project-selector-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #444}.project-selector-header h3{margin:0;font-size:.9em;color:#888;text-transform:uppercase;letter-spacing:.5px}.project-selector-header .refresh-btn{background:none;border:none;color:#888;cursor:pointer;font-size:1.2em;padding:4px 8px;border-radius:4px;transition:all .2s}.project-selector-header .refresh-btn:hover{background:#333;color:#fff}.project-selector-header .refresh-btn:disabled{opacity:.5;cursor:not-allowed}.project-selector-error{padding:12px 16px;color:#ff6b6b;font-size:.9em;background:rgba(255,107,107,.1)}.project-selector-empty,.project-selector-loading{padding:24px 16px;text-align:center;color:#888}.project-selector-empty p{margin:0}.project-selector-empty .hint{font-size:.85em;margin-top:8px;opacity:.7}.project-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1;min-height:0}.project-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #333;transition:background .2s}.project-item:hover{background:#333}.project-item.selected{background:#2d4a3e;border-left:3px solid #4ade80}.project-item:last-child{border-bottom:none}.project-item-main{display:flex;align-items:center;gap:8px;margin-bottom:4px}.project-item-name{font-weight:500;color:#fff}.project-badge{font-size:.75em;padding:2px 6px;border-radius:4px}.project-badge.not-initialized{background:#4a3a2d;color:#fbbf24}.project-item-details{display:flex;justify-content:space-between;align-items:center;gap:8px}.project-item-path{font-size:.8em;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.project-item-stats{display:flex;gap:12px;font-size:.8em;color:#888}.project-selector-actions{padding:12px 16px;border-top:1px solid #444}.init-project-btn{display:block;width:100%;padding:10px 16px;background:#4ade80;color:#1a1a1a;border:none;border-radius:6px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s}.init-project-btn:hover{background:#22c55e}.project-selector-manual{padding:12px 16px;border-top:1px solid #444;background:#252525}.project-selector-manual form{display:flex;gap:8px}.manual-path-input{flex:1 1;padding:8px 12px;background:#333;border:1px solid #444;border-radius:4px;color:#fff;font-size:.9em}.manual-path-input:focus{outline:none;border-color:#646cff}.manual-path-input::placeholder{color:#666}.manual-path-submit{padding:8px 16px;background:#646cff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s}.manual-path-submit:hover:not(:disabled){background:#535bf2}.manual-path-submit:disabled{opacity:.5;cursor:not-allowed}.archive-btn{margin-left:auto;background:transparent;border:1px solid #555;color:#888;padding:4px 8px;border-radius:4px;font-size:.75em;cursor:pointer;transition:all .2s}.archive-btn:hover{background:#4a3a2d;border-color:#fbbf24;color:#fbbf24}.view-archived-link{display:block;width:100%;padding:8px 16px;margin-top:8px;background:transparent;color:#888;border:1px solid #444;border-radius:6px;text-align:center;text-decoration:none;font-size:.9em;transition:all .2s}.view-archived-link:hover{background:#333;color:#fff;border-color:#555}