:root{--color-background: #1d2125;--color-surface: #22272b;--color-surface-hover: #2c333a;--color-card: #2c333a;--color-card-hover: #333c44;--color-border: #3b444c;--color-text: #dfe4ea;--color-text-muted: #9fadbc;--color-accent: #4c9aff;--color-danger: #f0a0a0;--list-width: 280px;--panel-offset-top: 80px;--narrow-panel-width: 360px;--card-editor-width: 520px;--paused-opacity: .7;--card-title-font-size: 14px;--avatar-size: 32px;--list-drag-handle-hit-size: 32px;--spacing-small: 6px;--spacing-medium: 10px;--spacing-large: 16px;--radius: 8px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--color-background);color:var(--color-text);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.app{display:flex;flex-direction:column;height:100%}.app-loading{padding:var(--spacing-large);color:var(--color-text-muted)}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-large);padding:var(--spacing-medium) var(--spacing-large);border-bottom:1px solid var(--color-border)}.app-heading{display:flex;align-items:center;gap:var(--spacing-medium);min-width:0}.board-mode-switch{display:flex;background-color:var(--color-surface);border-radius:6px;padding:2px}.board-mode-switch button{background:transparent;border:none;color:var(--color-text-muted);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:14px}.board-mode-switch button[aria-pressed=true]{background-color:var(--color-card);color:var(--color-text)}.connection-label{font-size:12px;color:var(--color-text-muted)}.connection-label.is-live{color:var(--color-accent)}.app-title{margin:0;font-size:20px;font-weight:700}.avatar-tray{display:flex;align-items:center;gap:var(--spacing-small)}.avatar-image{width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;object-fit:cover;display:block}.avatar-tray .avatar-image{cursor:grab}.settings-bar{display:flex;align-items:center;gap:var(--spacing-large);flex-wrap:wrap}.settings-control{display:flex;align-items:center;gap:var(--spacing-small);font-size:12px;color:var(--color-text-muted)}.settings-control input[type=range]{accent-color:var(--color-accent);cursor:pointer}.settings-value{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.board-workspace{flex:1;display:flex;flex-direction:column;min-height:0}.board-workspace.is-paused{pointer-events:none;opacity:var(--paused-opacity)}.board{flex:1;display:flex;align-items:flex-start;gap:var(--spacing-medium);padding:var(--spacing-large);overflow-x:auto}.list-column{flex:0 0 auto;width:min(var(--list-width),100%);min-width:0;background-color:var(--color-surface);border-radius:var(--radius);padding:var(--spacing-small);display:flex;flex-direction:column;max-height:100%}.list-header{display:flex;align-items:center;gap:var(--spacing-small);min-width:0;padding:var(--spacing-small)}.list-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:var(--list-drag-handle-hit-size);min-height:var(--list-drag-handle-hit-size);margin-left:calc(var(--spacing-small) * -1);cursor:grab;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:12px;line-height:1;letter-spacing:-3px}.list-title{flex:1 1 auto;min-width:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--color-text);font-size:15px;font-weight:600;padding:4px 6px}.list-title:hover{background-color:var(--color-surface-hover)}.list-title:focus{outline:none;background-color:var(--color-background);border-color:var(--color-accent)}.list-title:read-only,.list-title:read-only:focus{cursor:default;background-color:transparent;border-color:transparent}.list-column.is-locked-by-other{box-shadow:inset 0 0 0 1px var(--color-accent)}.list-column.is-locked-by-other .list-drag-handle{cursor:not-allowed}.lock-note{flex-shrink:0;font-size:11px;color:var(--color-text-muted)}.list-delete{flex-shrink:0;background:transparent;border:none;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}.list-delete:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.list-delete:disabled,.list-delete:disabled:hover{opacity:.4;cursor:not-allowed;background:transparent;color:var(--color-text-muted)}.list-cards{display:flex;flex-direction:column;gap:var(--spacing-small);padding:var(--spacing-small);overflow-y:auto;min-height:8px}.card{position:relative;background-color:var(--color-card);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-medium);cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-small);min-width:0}.card.has-avatars{padding-bottom:calc(var(--avatar-size) + var(--spacing-small) * 2)}.card-avatars{position:absolute;right:var(--spacing-small);bottom:var(--spacing-small);display:flex;gap:var(--spacing-small)}.card-avatars .avatar-image{cursor:grab}.card:hover{background-color:var(--color-card-hover)}.card.is-locked-by-other{cursor:not-allowed;border-color:var(--color-accent)}.card.is-locked-by-other:hover{background-color:var(--color-card)}.card-title{flex:1 1 auto;min-width:0;font-size:var(--card-title-font-size);white-space:pre-wrap;overflow-wrap:anywhere}.card-description-indicator{color:var(--color-text-muted);font-size:11px;flex-shrink:0}.card-drag-overlay{cursor:grabbing;box-shadow:0 8px 20px #0006;transform:rotate(2deg)}.inline-add-button{background:transparent;border:none;color:var(--color-text-muted);text-align:left;padding:var(--spacing-small) var(--spacing-medium);border-radius:6px;cursor:pointer;font-size:14px;width:100%}.inline-add-button:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.inline-add-form{display:flex;flex-direction:column;gap:var(--spacing-small);padding:var(--spacing-small)}.inline-add-input{width:100%;min-width:0;background-color:var(--color-background);border:1px solid var(--color-accent);border-radius:6px;color:var(--color-text);padding:var(--spacing-medium);font-size:14px}.inline-add-input:focus{outline:none}.inline-add-actions{display:flex}.inline-add-submit{background-color:var(--color-accent);border:none;color:#06131f;font-weight:600;padding:6px 12px;border-radius:6px;cursor:pointer}.inline-add-submit:disabled{opacity:.5;cursor:not-allowed}.board-add-list{flex:0 0 auto;width:min(var(--list-width),100%);min-width:0}.board-add-list .inline-add-button{background-color:#ffffff0f}.board-add-list .inline-add-form{background-color:var(--color-surface);border-radius:var(--radius)}.card-editor-backdrop{position:fixed;inset:0;background-color:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding-top:var(--panel-offset-top);z-index:10}.card-editor{background-color:var(--color-surface);border-radius:var(--radius);width:min(var(--card-editor-width),calc(100vw - var(--spacing-large) * 2));min-width:0;max-width:100%;padding:var(--spacing-large);display:flex;flex-direction:column;gap:var(--spacing-medium);box-shadow:0 12px 32px #00000080}.card-editor-title{width:100%;min-width:0;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:16px;font-weight:600;padding:var(--spacing-medium)}.card-editor-description{width:100%;min-width:0;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:14px;padding:var(--spacing-medium);min-height:140px;resize:vertical;font-family:inherit}.card-editor-title:focus,.card-editor-description:focus{outline:none;border-color:var(--color-accent)}.card-editor-actions{display:flex;justify-content:space-between;gap:var(--spacing-small);flex-wrap:wrap}.card-editor-delete{background:transparent;border:1px solid var(--color-border);color:var(--color-danger);padding:6px 12px;border-radius:6px;cursor:pointer}.card-editor-delete:hover{background-color:#e05a5a26}.card-editor-close{background-color:var(--color-accent);border:none;color:#06131f;font-weight:600;padding:6px 16px;border-radius:6px;cursor:pointer}.password-gate-wrap{flex:1;display:flex;justify-content:center;padding:var(--panel-offset-top) var(--spacing-large) var(--spacing-large)}.password-gate{width:var(--narrow-panel-width);max-width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-medium);background-color:var(--color-surface);border-radius:var(--radius);padding:var(--spacing-large)}.password-gate h2{margin:0;font-size:18px}.password-gate p{margin:0;color:var(--color-text-muted)}.password-gate .inline-add-input{width:100%}.password-error{color:var(--color-danger);font-size:14px}
