:root{--primary: #EF4444;--primary-dark: #DC2626;--primary-bg: rgba(239, 68, 68, .1);--accent-muted: #7F1D1D;--success: #34C759;--error: #FF3B30;--warning: #FF9500;--bg: #000000;--surface: #0A0A0A;--surface-elevated: #141414;--surface-hover: #1A1A1A;--surface-active: #222222;--text-primary: #FAFAFA;--text-secondary: #A3A3A3;--text-tertiary: #737373;--divider: #262626;--divider-light: #1C1C1C;--sidebar-width: 260px;--detail-width: 400px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}a{color:inherit;text-decoration:none}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:12px;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--divider);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:flex;align-items:center;justify-content:center;height:100vh}.login-card{text-align:center;padding:48px;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:16px;max-width:400px;width:90%}.login-logo{margin-bottom:16px}.login-card h1{font-size:32px;font-weight:700;margin-bottom:8px}.login-subtitle{color:var(--text-secondary);margin-bottom:32px}.google-sign-in-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 24px;background:var(--surface-hover);border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}.google-sign-in-btn:hover{background:var(--divider)}.login-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--text-tertiary);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--divider)}.appstore-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:transparent;border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.appstore-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;overflow-y:auto;padding:32px 40px;min-width:0}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--divider);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden}.sidebar-header{display:flex;align-items:center;gap:10px;padding:20px 16px;border-bottom:1px solid var(--divider)}.sidebar-title{font-size:18px;font-weight:700}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;cursor:pointer;text-align:left;transition:background .1s;text-decoration:none}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.active{background:var(--surface-elevated);color:var(--text-primary);font-weight:500}.nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-tertiary)}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:var(--text-primary)}.badge{margin-left:auto;background:var(--primary);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px;line-height:1.3}.nav-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 12px 6px}.nav-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.nav-section-action{background:none;border:none;color:var(--text-tertiary);font-size:18px;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);line-height:1}.nav-section-action:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item-wrapper{position:relative}.nav-item-wrapper .nav-item{padding-right:32px}.nav-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item-count{font-size:12px;color:var(--text-tertiary);margin-left:auto}.nav-item-more{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);font-size:14px;cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);opacity:0;transition:opacity .1s;letter-spacing:1px}.nav-item-wrapper:hover .nav-item-more{opacity:1}.nav-item-more:hover{background:var(--divider);color:var(--text-primary)}.context-menu{position:absolute;right:0;top:100%;z-index:50;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-md);padding:4px;min-width:120px;box-shadow:0 8px 24px #0006}.context-menu button{display:block;width:100%;padding:6px 12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer}.context-menu button:hover{background:var(--surface-hover);color:var(--text-primary)}.context-menu button.danger{color:var(--error)}.context-menu button.danger:hover{background:#ff3b301a}.nav-divider{height:1px;background:var(--divider);margin:8px 12px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--divider)}.user-info{display:flex;align-items:center;gap:10px;margin-bottom:8px}.user-avatar{width:28px;height:28px;border-radius:50%}.user-name{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sign-out-btn{background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;padding:4px 0}.sign-out-btn:hover{color:var(--primary)}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.page-header h1{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700}.page-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.todo-count{color:var(--text-tertiary);font-size:14px}.project-dot-lg{display:inline-block;width:14px;height:14px;border-radius:50%;flex-shrink:0}.project-description{color:var(--text-secondary);font-size:14px;margin-bottom:20px;margin-top:-16px}.page-notice{color:var(--text-tertiary);font-size:13px;margin-bottom:16px;margin-top:-16px}.btn-primary{padding:8px 16px;background:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:8px 16px;background:var(--surface-hover);border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--divider)}.btn-secondary.btn-sm{padding:5px 12px;font-size:13px}.btn-danger{padding:8px 16px;background:var(--error);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#e0342b}.todo-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 0;color:var(--text-secondary);text-align:center}.todo-list{display:flex;flex-direction:column;gap:2px}.todo-card{display:flex;align-items:stretch;background:var(--surface-elevated);border:1px solid var(--divider-light);border-radius:var(--radius-lg);transition:background .1s,border-color .1s;cursor:pointer;overflow:hidden}.todo-card:hover{background:var(--surface-hover);border-color:var(--divider)}.todo-card.selected{background:var(--surface-active);border-color:var(--primary)}.todo-card.completed{opacity:.6}.todo-card-priority-bar{width:3px;flex-shrink:0}.todo-card-main{display:flex;align-items:center;gap:12px;padding:12px 14px;flex:1;min-width:0}.todo-checkbox{width:20px;height:20px;border:2px solid var(--text-tertiary);border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;color:#fff}.todo-checkbox:hover{border-color:var(--primary)}.todo-checkbox.checked{background:var(--success);border-color:var(--success)}.todo-content{flex:1;min-width:0}.todo-title-row{display:flex;align-items:center;gap:8px}.todo-title{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-title.strikethrough{text-decoration:line-through;color:var(--text-tertiary)}.todo-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.todo-project-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-tertiary)}.project-dot-sm{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.project-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.inbox-tag{color:var(--text-tertiary)}.subtask-count{font-size:12px;color:var(--text-tertiary);background:var(--surface);padding:1px 6px;border-radius:4px}.todo-action-inline{padding:4px 10px;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;white-space:nowrap;flex-shrink:0}.todo-action-inline:hover{background:var(--divider);color:var(--text-primary)}.todo-action-inline.danger{color:var(--error);border-color:#ff3b3033}.todo-action-inline.danger:hover{background:#ff3b301a}.todo-action-group{display:flex;gap:6px;flex-shrink:0}.priority-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500}.priority-dot{width:6px;height:6px;border-radius:50%}.source-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.source-icon{font-size:13px}.source-label{font-size:12px}.source-link{font-size:12px;color:var(--primary);text-decoration:none}.source-link:hover{text-decoration:underline}.detail-backdrop{display:none}.detail-panel{width:var(--detail-width);background:var(--surface);border-left:1px solid var(--divider);overflow-y:auto;flex-shrink:0;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.todo-detail{padding:24px}.todo-detail-header{display:flex;justify-content:flex-end;margin-bottom:16px}.detail-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.detail-close:hover{background:var(--surface-hover);color:var(--text-primary)}.detail-section{margin-bottom:20px}.detail-title{font-size:20px;font-weight:600;cursor:pointer;padding:4px 0;border-radius:var(--radius-sm)}.detail-title:hover{background:var(--surface-hover)}.detail-title.strikethrough{text-decoration:line-through;color:var(--text-tertiary)}.detail-title-input{width:100%;font-size:20px;font-weight:600;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-primary);padding:6px 8px;outline:none}.detail-title-input:focus{border-color:var(--primary)}.detail-status-bar{display:flex;gap:16px;padding:12px 0;border-top:1px solid var(--divider-light);border-bottom:1px solid var(--divider-light);margin-bottom:20px;flex-wrap:wrap}.detail-field{display:flex;flex-direction:column;gap:4px}.detail-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.detail-field select{background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:4px 8px;cursor:pointer;outline:none}.detail-field select:focus{border-color:var(--primary)}.detail-source{display:flex;align-items:center;gap:8px}.detail-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:8px}.detail-context{font-size:14px;color:var(--text-secondary);line-height:1.6;cursor:pointer;padding:8px;border-radius:var(--radius-md);min-height:40px}.detail-context:hover{background:var(--surface-hover)}.detail-context .placeholder{color:var(--text-tertiary);font-style:italic}.context-sections{display:flex;flex-direction:column;gap:4px}.context-section{padding:10px 0;border-bottom:1px solid var(--divider-light)}.context-section:last-child{border-bottom:none}.context-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.context-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);margin:0}.section-edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0;margin-left:auto}.context-section:hover .section-edit-btn{opacity:1}.section-edit-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}.section-edit-area{display:flex;flex-direction:column;gap:8px}.section-edit-input{width:100%;font-size:14px;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-primary);padding:8px;outline:none;resize:vertical;font-family:inherit;line-height:1.6}.section-edit-input:focus{border-color:var(--primary)}.section-edit-actions{display:flex;gap:6px;justify-content:flex-end}.section-save-btn{padding:4px 14px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.section-save-btn:hover{background:var(--primary-hover)}.section-cancel-btn{padding:4px 14px;border:1px solid var(--divider);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.section-cancel-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}.md-text{font-size:14px;color:var(--text-secondary);line-height:1.7}.md-text p{margin:0 0 4px}.md-text p:last-child{margin-bottom:0}.md-text br{display:block;content:"";margin-top:4px}.md-text strong{color:var(--text-primary);font-weight:600}.md-text em{font-style:italic}.md-text ul{margin:4px 0;padding-left:18px}.md-text li{margin:3px 0;color:var(--text-secondary)}.md-text li::marker{color:var(--text-tertiary)}.md-text a{color:var(--primary);text-decoration:none;word-break:break-all}.md-text a:hover{text-decoration:underline}.detail-context-input{width:100%;font-size:14px;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-primary);padding:8px;outline:none;resize:vertical;font-family:inherit;line-height:1.6}.detail-context-input:focus{border-color:var(--primary)}.translation-toggle{background:none;border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--primary);font-size:13px;cursor:pointer;padding:4px 10px;display:inline-flex;align-items:center;gap:6px}.translation-toggle:hover{background:var(--primary-bg)}.translation-lang{color:var(--text-tertiary);font-size:12px}.outcome-display{padding:8px 12px;background:var(--surface-elevated);border-radius:var(--radius-md)}.outcome-badge{font-size:14px;font-weight:500;color:var(--success)}.outcome-notes{font-size:13px;color:var(--text-secondary);margin-top:4px}.outcome-picker{margin-top:8px}.outcome-notes-input{width:100%;padding:6px 8px;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none;margin-bottom:8px}.outcome-notes-input:focus{border-color:var(--primary)}.outcome-options{display:flex;flex-wrap:wrap;gap:6px}.outcome-option{padding:4px 10px;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer}.outcome-option:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--text-tertiary)}.github-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px}.github-link:hover{color:var(--text-primary)}.gh-state{font-size:11px;padding:1px 6px;border-radius:10px;font-weight:500}.gh-state.open{background:#34c75926;color:var(--success)}.gh-state.closed{background:#8b5cf626;color:#8b5cf6}.detail-meta{padding:12px 0;border-top:1px solid var(--divider-light);margin-bottom:16px;font-size:12px;color:var(--text-tertiary)}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-action{padding:6px 14px;border:1px solid var(--divider);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;background:var(--surface-elevated);color:var(--text-secondary)}.btn-action:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-complete{color:var(--success);border-color:#34c7594d}.btn-complete:hover{background:#34c7591a}.btn-undo{color:var(--warning);border-color:#ff95004d}.btn-undo:hover{background:#ff95001a}.btn-archive{color:var(--text-secondary)}.btn-delete{color:var(--error);border-color:#ff3b304d}.btn-delete:hover{background:#ff3b301a}.subtask-list-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:8px}.subtask-progress{font-weight:400;font-size:12px}.subtask-item{display:flex;align-items:center;gap:8px;padding:4px 0}.subtask-checkbox{width:16px;height:16px;border:2px solid var(--text-tertiary);border-radius:4px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;color:#fff}.subtask-checkbox:hover{border-color:var(--primary)}.subtask-checkbox.checked{background:var(--success);border-color:var(--success)}.subtask-title{font-size:13px;flex:1}.subtask-title.strikethrough{text-decoration:line-through;color:var(--text-tertiary)}.subtask-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;padding:0 4px;opacity:0;transition:opacity .1s}.subtask-item:hover .subtask-remove{opacity:1}.subtask-remove:hover{color:var(--error)}.subtask-add{display:flex;gap:6px;margin-top:8px}.subtask-add input{flex:1;padding:5px 8px;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none}.subtask-add input:focus{border-color:var(--primary)}.subtask-add-btn{padding:5px 10px;background:var(--surface-hover);border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;cursor:pointer}.subtask-add-btn:hover{background:var(--divider);color:var(--text-primary)}.subtask-add-btn:disabled{opacity:.4;cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 20px;text-align:center}.empty-state-icon{color:var(--text-tertiary);margin-bottom:16px;opacity:.5}.empty-state h3{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.empty-state p{font-size:14px;color:var(--text-tertiary);max-width:320px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-lg);padding:24px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;animation:modalIn .2s ease-out}@keyframes modalIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal h2{font-size:18px;font-weight:600;margin-bottom:20px}.confirm-dialog p{color:var(--text-secondary);font-size:14px;margin-bottom:20px;line-height:1.5}.form-group{margin-bottom:16px;position:relative}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.optional{font-weight:400;color:var(--text-tertiary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary)}.form-group textarea{resize:vertical}.char-count{position:absolute;right:0;top:0;font-size:11px;color:var(--text-tertiary)}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.mode-selector{display:flex;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);padding:3px;margin-bottom:20px;gap:2px}.mode-btn{flex:1;padding:7px 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.mode-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.mode-btn.active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 1px 3px #0000004d}.link-input-wrapper{position:relative}.link-input-wrapper input{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.link-input-wrapper input:focus{border-color:var(--primary)}.link-input-wrapper input.has-icon{padding-left:36px}.capture-type-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--text-primary);pointer-events:none;z-index:1}.form-error{color:var(--error);font-size:12px;margin-top:6px}.drop-zone{border:2px dashed var(--divider);border-radius:var(--radius-lg);padding:32px 16px;cursor:pointer;transition:all .15s;text-align:center}.drop-zone:hover{border-color:var(--text-tertiary);background:var(--surface)}.drop-zone.active{border-color:var(--primary);background:var(--primary-bg)}.drop-zone:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:8px}.drop-zone-icon{color:var(--text-tertiary)}.drop-zone-text{font-size:14px;color:var(--text-secondary)}.drop-zone-hint{font-size:12px;color:var(--text-tertiary)}.screenshot-preview{position:relative;border:1px solid var(--divider);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.screenshot-preview img{display:block;width:100%;max-height:200px;object-fit:contain;background:var(--bg)}.screenshot-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .15s}.screenshot-remove:hover{background:var(--error)}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px var(--bg)}.capture-toast-container{position:fixed;top:16px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:380px;pointer-events:none}.capture-toast{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-elevated);border:1px solid var(--divider);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000080;pointer-events:auto;animation:toastSlideIn .3s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.capture-toast-processing{border-color:#ef444440}.capture-toast-completed{border-color:#34c7594d}.capture-toast-failed{border-color:#ef44444d}.toast-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0}.capture-toast-processing .toast-icon{background:var(--primary-bg);color:var(--primary)}.capture-toast-completed .toast-icon{background:#34c75926;color:#34c759}.capture-toast-failed .toast-icon{background:#ef444426;color:#ef4444}.toast-spinner{width:16px;height:16px;border:2px solid rgba(239,68,68,.3);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.toast-body{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.toast-source{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.toast-message{font-size:13px;color:var(--text-primary);font-weight:500}.toast-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:all .15s ease}.toast-dismiss:hover{background:var(--surface-hover);color:var(--text-primary)}@media(max-width:1024px){.detail-panel{width:340px}}@media(max-width:768px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;max-height:50vh;border-right:none;border-bottom:1px solid var(--divider)}.app-main{padding:20px 16px}.detail-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.detail-panel{position:fixed;right:0;top:0;bottom:0;width:100%;max-width:400px;z-index:50;box-shadow:-4px 0 24px #0006}.page-header{flex-wrap:wrap}.form-row{flex-direction:column;gap:0}}
