*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f4;overflow:hidden;height:100vh;width:100vw}#login-gate{position:fixed;inset:0;background:#f5f5f4;z-index:9999;display:flex;align-items:center;justify-content:center}#login-gate.hidden{display:none}.login-box{text-align:center;padding:2rem}.login-title{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:2rem}#password-input{display:block;width:220px;padding:.75rem 1rem;font-size:1rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#1f2937;margin:0 auto 1rem;text-align:center}#password-input:focus{outline:none;border-color:#3b82f6}#login-btn{padding:.75rem 2rem;font-size:1rem;border:none;border-radius:8px;background:#1f2937;color:#fff;cursor:pointer;font-weight:600;transition:background .2s}#login-btn:hover{background:#374151}#login-error{color:#ef4444;margin-top:1rem;font-size:.9rem;display:none}#app{display:none;height:100vh;width:100vw}#app.visible{display:block}#whiteboard{height:100vh;width:100vw;position:relative;overflow:hidden}#toolbar{position:fixed;top:16px;right:16px;background:#fff;border-radius:10px;box-shadow:0 2px 12px #00000014;padding:6px 8px;display:flex;align-items:center;gap:4px;z-index:100}#toolbar button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:6px;transition:background .15s,color .15s}#toolbar button:hover{background:#f3f4f6;color:#374151}#sync-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#9ca3af;cursor:pointer}#sync-indicator.success{color:#22c55e}#sync-indicator.error{color:#ef4444}#new-note-fab{position:fixed;bottom:80px;right:24px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:100}#new-note-fab button{border:none;cursor:pointer;transition:transform .15s,box-shadow .15s}#fab-add-btn{width:56px;height:56px;border-radius:16px;background:#fef08a;color:#1f2937;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000026,0 2px 4px #0000001a}#fab-add-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #0000002e,0 3px 6px #0000001f}#fab-color-btn{width:28px;height:28px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001f}#fab-color-btn:hover{transform:scale(1.1)}#fab-color-dot{width:18px;height:18px;border-radius:50%;background:#fef08a;border:2px solid rgba(0,0,0,.1)}#fab-colors{position:absolute;bottom:100%;right:0;margin-bottom:8px;background:#fff;border-radius:12px;padding:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:6px}#fab-colors.hidden{display:none}.fab-color-opt{width:32px;height:32px;border-radius:8px;border:none}.fab-color-opt:hover{transform:scale(1.1)}#sync-indicator.syncing{color:#3b82f6}#sync-indicator.syncing svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#canvas{position:relative;width:100%;height:100%;overflow:auto;background:linear-gradient(90deg,#e5e7eb 1px,transparent 1px),linear-gradient(#e5e7eb 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}#lanes{position:fixed;inset:0;pointer-events:none;z-index:50}#lanes.hidden{display:none}.lane-line{position:absolute;top:0;height:100vh;width:4px;background:repeating-linear-gradient(to bottom,#999 0px,#999 12px,transparent 12px,transparent 20px)}.sticky-note{position:absolute;width:180px;min-height:140px;padding:16px;border-radius:2px;box-shadow:2px 3px 12px #0000001f,1px 2px 4px #00000014;cursor:grab;user-select:none;display:flex;flex-direction:column;transition:box-shadow .2s;font-size:14px;line-height:1.5}.sticky-note:hover{box-shadow:4px 6px 20px #00000026,2px 3px 6px #0000001a}.sticky-note.dragging{cursor:grabbing;box-shadow:8px 12px 30px #0003,4px 6px 10px #0000001f;z-index:1000!important}.sticky-note.selected{outline:2px solid #3b82f6;outline-offset:2px}.sticky-note-content{flex:1;white-space:pre-wrap;word-break:break-word;color:#1f2937;font-weight:500;pointer-events:none}.sticky-note.editing .sticky-note-content{pointer-events:auto;cursor:text}.sticky-note-content:empty:before{content:"Double-click to edit...";color:#9ca3af}.sticky-note-meta{margin-top:12px;font-size:11px;color:#6b7280;display:flex;justify-content:space-between;align-items:center}.sticky-note-date{opacity:.8}.sticky-note-actions{display:none;gap:4px}.sticky-note:hover .sticky-note-actions{display:flex}.sticky-note-actions button{width:22px;height:22px;border:none;background:#0000000d;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:background .15s,color .15s}.sticky-note-actions button:hover{background:#0000001a;color:#1f2937}.sticky-note-actions .delete-btn:hover{background:#fecaca;color:#dc2626}.sticky-note-actions .done-btn:hover{background:#bbf7d0;color:#16a34a}.sticky-note.lead{margin-top:32px;padding-top:44px;border-radius:8px 8px 2px 2px;transform:rotate(0)!important}.sticky-note.lead.selected{outline:none;box-shadow:0 0 0 3px #3b82f6,4px 6px 20px #00000026}.lead-avatar{position:absolute;top:-28px;left:50%;transform:translate(-50%);width:56px;height:56px;border-radius:50%;background:inherit;box-shadow:0 2px 8px #0000001a;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#00000040;z-index:1}.lead-avatar img{width:100%;height:100%;object-fit:cover}.lead-avatar:hover{box-shadow:0 4px 12px #0003}.lead-avatar svg{width:24px;height:24px}.sticky-note.lead.selected .lead-avatar{box-shadow:0 0 0 3px #3b82f6}.confetti{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.confetti-piece{position:fixed;width:14px;height:14px}@keyframes confetti-explode{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) rotate(720deg) scale(.5);opacity:0}}.celebration{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9998;pointer-events:none;animation:celebration-fade 2s ease-out forwards}.celebration-text{font-size:72px;font-weight:800;color:#16a34a;text-shadow:4px 4px 0 #bbf7d0,8px 8px 0 rgba(0,0,0,.1);animation:celebration-pop .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes celebration-pop{0%{transform:scale(0) rotate(-10deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes celebration-fade{0%,70%{opacity:1}to{opacity:0}}.sticky-note.editing .sticky-note-content{outline:none;cursor:text}#hints{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:#fff;border-radius:8px;padding:8px 16px;box-shadow:0 2px 8px #0000000f;display:flex;gap:20px;font-size:12px;color:#6b7280;z-index:100}#hints kbd{display:inline-block;padding:2px 6px;background:#f3f4f6;border-radius:4px;font-family:inherit;font-size:11px;font-weight:600;color:#374151;margin-right:4px}#hints.hidden{display:none}#hints-lanes{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:#fff;border-radius:8px;padding:8px 16px;box-shadow:0 2px 8px #0000000f;display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280;z-index:100}#hints-lanes.hidden{display:none}#hints-lanes kbd{display:inline-block;padding:4px 10px;background:#f3f4f6;border-radius:6px;font-family:inherit;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}#hints-lanes kbd:hover{background:#e5e7eb}.lane-count.active kbd{background:#1f2937;color:#fff}.lane-hint{color:#9ca3af;margin:0 8px}.color-picker{position:fixed;background:#fff;border-radius:10px;padding:8px;box-shadow:0 4px 20px #00000026;display:flex;gap:6px;z-index:1001}.color-picker.hidden{display:none}.color-btn{width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;transition:transform .15s}.color-btn:hover{transform:scale(1.15)}.modal{position:fixed;inset:0;background:#0006;display:none;align-items:center;justify-content:center;z-index:2000}.modal.visible{display:flex}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:400px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:18px;font-weight:600;color:#1f2937}.modal-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;font-size:20px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e5e7eb}.modal-body{padding:24px}.setting-group{margin-bottom:20px}.setting-group:last-child{margin-bottom:0}.setting-group label{display:block;font-weight:600;color:#1f2937;margin-bottom:4px}.setting-hint{font-size:13px;color:#6b7280;margin-bottom:12px}.setting-group input{width:100%;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;margin-bottom:12px}.setting-group input:focus{outline:none;border-color:#3b82f6}.setting-actions{display:flex;gap:8px;flex-wrap:wrap}.setting-actions button{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.setting-actions button:not(.secondary):not(.danger){background:#1f2937;color:#fff}.setting-actions button:not(.secondary):not(.danger):hover{background:#374151}.setting-actions button.secondary{background:#f3f4f6;color:#374151}.setting-actions button.secondary:hover{background:#e5e7eb}.setting-actions button.danger{background:#fecaca;color:#dc2626}.setting-actions button.danger:hover{background:#fca5a5}.setting-divider{height:1px;background:#e5e7eb;margin:20px 0}@media(max-width:640px){.sticky-note{width:150px;min-height:120px;padding:12px;font-size:13px}#toolbar{top:12px;padding:6px 10px}#toolbar button span,#hints{display:none}}
