.auth-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 50%,rgba(255,214,10,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(10,132,255,.07) 0%,transparent 50%),#111;padding:1rem}.auth-card{background:#1c1c1e;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2.5rem 2rem;width:100%;max-width:400px;box-shadow:0 24px 80px #0009}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo-icon{font-size:2.75rem;display:block;margin-bottom:.35rem}.auth-logo h1{font-family:var(--font-hand);font-size:2.4rem;font-weight:700;color:var(--accent);line-height:1;margin-bottom:.3rem}.auth-logo p{color:var(--text-muted);font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.form-group input{border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:.65rem .9rem;font-size:.95rem;color:var(--text);background:#ffffff0d;transition:border-color .15s,box-shadow .15s;outline:none}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ffd60a26;background:#ffffff12}.auth-error{background:#ff375f1f;border:1px solid rgba(255,55,95,.3);color:#ff6b8a;border-radius:var(--radius-sm);padding:.65rem .9rem;font-size:.88rem}.btn-demo{display:block;width:100%;margin-top:.75rem;padding:.55rem;border-radius:var(--radius-sm);border:2px dashed rgba(255,214,10,.3);color:var(--accent);font-size:.85rem;font-weight:600;background:#ffd60a0d;transition:background .15s,border-color .15s}.btn-demo:hover{background:#ffd60a1a;border-color:#ffd60a80}.auth-switch{text-align:center;margin-top:1.25rem;font-size:.88rem;color:var(--text-muted)}.auth-switch a{color:var(--accent);font-weight:600}.auth-switch a:hover{text-decoration:underline}.task-item{display:flex;align-items:center;gap:.55rem;padding:.3rem .1rem;border-radius:var(--radius-xs);transition:background .1s;position:relative}.task-item:hover{background:#0000000d}.task-checkbox{width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(0,0,0,.3);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .12s;background:transparent;padding:0}.task-checkbox:hover{border-color:#0000008c;transform:scale(1.1)}.task-checkbox--checked{color:#fff;animation:check-bounce .26s cubic-bezier(.34,1.56,.64,1)}@keyframes check-bounce{0%{transform:scale(.7)}60%{transform:scale(1.25)}to{transform:scale(1)}}.check-icon{width:11px;height:11px}.task-text-wrap{flex:1;min-width:0;overflow:hidden}.task-text{font-family:var(--font-notes);font-size:1.25rem;line-height:1.3;color:#000000c7;display:block}.task-text--editable{cursor:text}.task-item--done .task-text{color:#00000059;text-decoration:line-through;text-decoration-color:#00000059}.task-edit-input{font-family:var(--font-notes);font-size:1.25rem;background:transparent;border:none;border-bottom:2px solid rgba(0,0,0,.4);outline:none;width:100%;color:#000000c7;padding:0}.task-creator{width:17px;height:17px;border-radius:50%;font-size:.58rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7;transition:opacity .15s}.task-item:hover .task-creator{opacity:1}.task-completer{width:18px;height:18px;border-radius:50%;background:#0003;color:#ffffffe6;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.task-delete{width:20px;height:20px;border-radius:50%;color:#0000004d;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,background .12s;flex-shrink:0;padding:0}.task-item:hover .task-delete{opacity:1}.task-delete:hover{background:#c8000026;color:#c00}.task-item--reorder-mode{background:#00000008!important;border-radius:var(--radius-xs);cursor:grab}.task-item--dragging{opacity:.4;cursor:grabbing}.task-reorder-btns{display:flex;flex-direction:row;gap:3px;flex-shrink:0}.task-reorder-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#00000073;border-radius:6px;transition:background .1s,color .12s;padding:0;flex-shrink:0;line-height:1}.task-reorder-btn:hover:not(:disabled){background:#00000017;color:#000000bf}.task-reorder-btn:disabled{opacity:.18;cursor:default}.task-drop-indicator{list-style:none;height:2px;background:var(--note-accent, rgba(0,0,0,.4));border-radius:1px;margin:2px 0;pointer-events:none}.note-btn--reorder{font-size:.7rem;font-weight:600;color:#0006;padding:0 3px;min-width:20px;opacity:1}.note-btn--reorder--active{color:var(--note-accent, rgba(0,0,0,.7));font-weight:700}@keyframes task-complete-leave{0%{opacity:1;transform:translate(0) scale(1);max-height:48px}40%{opacity:.6;transform:translate(6px) scale(.98);max-height:48px}to{opacity:0;transform:translate(-16px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}.task-item--leaving{animation:task-complete-leave .34s ease-in forwards;pointer-events:none;overflow:hidden}.done-section{margin-top:.4rem;border-top:1px dashed rgba(0,0,0,.15);padding-top:.15rem}.done-toggle{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;padding:.3rem .25rem;border-radius:var(--radius-xs);font-family:var(--font-notes);font-size:1.05rem;color:#0000006b;transition:background .12s,color .12s}.done-toggle:hover{background:#0000000d;color:#000000a6}.done-toggle-check{color:var(--done-accent, rgba(0,0,0,.4));font-size:.85rem;flex-shrink:0}.done-toggle-count{flex:1}.done-toggle-caret{font-size:.52rem;opacity:.5}.done-list{margin-top:.15rem}.done-list .task-text{opacity:.65}.task-item--done .task-delete{opacity:.45;color:#00000059}.task-item--done:hover .task-delete{opacity:.85}.reminder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:reminder-fade-in .15s ease}@keyframes reminder-fade-in{0%{opacity:0}to{opacity:1}}.reminder-modal{background:#1c1c1e;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.4rem;width:340px;max-width:calc(100vw - 2rem);max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px #000000b3;animation:reminder-modal-pop .22s cubic-bezier(.34,1.56,.64,1)}@keyframes reminder-modal-pop{0%{opacity:0;transform:scale(.88) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 480px){.reminder-overlay{align-items:flex-end}.reminder-modal{position:static;width:100%;max-width:100%;border-radius:20px 20px 0 0;padding:1.5rem 1.25rem;animation:reminder-slide-up .25s cubic-bezier(.34,1.56,.64,1);max-height:85vh}}@keyframes reminder-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.reminder-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.reminder-title{font-family:var(--font-ui);font-weight:600;font-size:1rem;color:#f5f5f7}.reminder-close{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#636366;font-size:1.25rem;line-height:1;transition:background .12s,color .12s}.reminder-close:hover{background:#ffffff1a;color:#f5f5f7}.reminder-task-preview{font-size:.84rem;color:#636366;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:1rem}.reminder-existing-info{font-family:var(--font-ui);font-size:.78rem;color:#ffd60a;background:#ffd60a1a;border:1px solid rgba(255,214,10,.2);border-radius:8px;padding:.45rem .7rem;margin-bottom:.75rem;text-align:center}.reminder-section-label{font-family:var(--font-ui);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#636366;margin-bottom:.45rem;margin-top:1rem}.reminder-section-label:first-of-type{margin-top:0}.reminder-quick-options{display:flex;flex-wrap:wrap;gap:.4rem}.reminder-quick-btn{background:#2c2c2e;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e5e5ea;font-family:var(--font-ui);font-size:.82rem;padding:.38rem .7rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.reminder-quick-btn:hover{background:#3a3a3c;border-color:#ffffff38;color:#fff}.reminder-datetime-row{display:flex;gap:.5rem}.reminder-input,.reminder-select{background:#2c2c2e;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f5f5f7;font-family:var(--font-ui);font-size:.88rem;padding:.42rem .6rem;transition:border-color .12s}.reminder-input:focus,.reminder-select:focus{outline:none;border-color:#ffd60a}.reminder-input{flex:1;min-width:0}.reminder-input--small{flex:0 0 80px}.reminder-select{width:100%;cursor:pointer}.reminder-select--small{width:auto;flex:1}.reminder-input::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.reminder-custom-repeat{display:flex;gap:.5rem;margin-top:.5rem}.reminder-actions{display:flex;gap:.55rem;margin-top:1.3rem;justify-content:flex-end;align-items:center}.reminder-btn{font-family:var(--font-ui);font-size:.88rem;font-weight:600;padding:.5rem 1rem;border-radius:9px;cursor:pointer;transition:background .12s,opacity .12s;white-space:nowrap}.reminder-btn--save{background:#ffd60a;color:#1a1500}.reminder-btn--save:hover:not(:disabled){background:#ffe040}.reminder-btn--save:disabled{opacity:.35;cursor:not-allowed}.reminder-btn--remove{background:#ff375f24;border:1px solid rgba(255,55,95,.28);color:#ff375f}.reminder-btn--remove:hover{background:#ff375f3d}.task-reminder-btn{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7;transition:background .12s,color .12s;color:#0006;padding:0;position:relative;z-index:10;pointer-events:auto;cursor:pointer;touch-action:manipulation}.task-reminder-btn:hover{background:#00000014;color:#000000a6}.task-reminder-btn--active{opacity:1!important;color:#9a6f00}.task-reminder-btn--active:hover{background:#00000014}.task-reminder-label{font-size:.64rem;font-family:var(--font-ui);font-weight:500;color:#00000061;white-space:nowrap;flex-shrink:0;line-height:1;opacity:.7}.task-reminder-label--active{opacity:1!important;color:#9a6f00}.sticky-note--canvas{position:absolute;width:290px;background:var(--note-bg, #FFF3B0);border-radius:3px 3px 12px 12px;transform:rotate(var(--note-rotation, 0deg));transform-origin:top center;box-shadow:var(--shadow-note),0 2px #00000014,inset 0 -2px #0000000d;transition:box-shadow .2s,transform .2s;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;animation:note-pop .24s cubic-bezier(.34,1.56,.64,1)}.sticky-note--canvas:hover{box-shadow:12px 20px 60px var(--note-shadow, rgba(0,0,0,.35)),0 2px #00000014;transform:rotate(calc(var(--note-rotation, 0deg) * .4)) scale(1.02);z-index:50!important}.sticky-note--canvas.dragging{box-shadow:16px 28px 80px var(--note-shadow, rgba(0,0,0,.45)),0 2px #00000014;transform:rotate(calc(var(--note-rotation, 0deg) * .2)) scale(1.05);cursor:grabbing!important;z-index:1000!important}.sticky-note--canvas:after{content:"";position:absolute;bottom:0;right:0;width:28px;height:28px;background:linear-gradient(225deg,rgba(0,0,0,.14) 0%,transparent 55%);border-radius:0 0 12px;pointer-events:none}.sticky-note--tidy{position:relative!important;left:auto!important;top:auto!important;transform:none!important;flex-shrink:0}.sticky-note--tidy:hover{box-shadow:12px 20px 60px var(--note-shadow, rgba(0,0,0,.35)),0 2px #00000014;transform:translateY(-2px)!important}.sticky-note--list{position:relative;width:100%;background:var(--note-bg, #FFF3B0);border-radius:var(--radius);box-shadow:0 4px 20px var(--note-shadow, rgba(0,0,0,.25));display:flex;flex-direction:column;animation:note-pop .22s cubic-bezier(.34,1.56,.64,1)}.sticky-note--canvas.sticky-note--pinned{box-shadow:0 0 0 2.5px #ffd60a,0 0 28px #ffd60a4d,8px 12px 40px var(--note-shadow, rgba(0,0,0,.4)),0 2px #00000014,inset 0 -2px #0000000d}.sticky-note--tidy.sticky-note--pinned,.sticky-note--list.sticky-note--pinned{box-shadow:0 0 0 2.5px #ffd60a,0 0 18px #ffd60a40,0 4px 20px var(--note-shadow, rgba(0,0,0,.25))}.note-btn--pin{opacity:.45;transition:background .12s,opacity .12s;flex-shrink:0}.note-btn--pin:hover{opacity:1}.note-btn--pin--active{color:#ffd60a!important;opacity:1!important}.note-header{background:var(--note-accent, #FFD60A);padding:.55rem .6rem .55rem .75rem;cursor:grab;display:flex;align-items:center;gap:.3rem;border-radius:3px 3px 0 0;flex-shrink:0}.sticky-note--list .note-header{border-radius:var(--radius) var(--radius) 0 0;cursor:default}.note-header:active{cursor:grabbing}.note-title-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-notes);font-size:1.45rem;font-weight:700;color:#000000bf;min-width:0;cursor:grab;line-height:1.2}.note-title-input:focus{cursor:text}.sticky-note--list .note-title-input{cursor:text}.note-title-input::placeholder{color:#0000004d;font-style:italic}.note-header-actions{display:flex;align-items:center;gap:.1rem;flex-shrink:0;opacity:0;transition:opacity .15s}.sticky-note--canvas:hover .note-header-actions,.sticky-note--canvas.dragging .note-header-actions,.sticky-note--list .note-header-actions{opacity:1}.note-btn{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:background .12s;padding:0;color:#0000008c}.note-btn:hover{background:#0000001f;color:#000c}.note-btn--delete:hover{background:#c800002e;color:#c00}.note-btn--pin{font-size:1rem}.color-picker{display:flex;gap:.4rem;padding:.5rem .7rem;background:#0000000f;border-bottom:1px solid rgba(0,0,0,.08)}.color-swatch{width:22px;height:22px;border-radius:50%;border:3px solid transparent;transition:transform .12s;padding:0}.color-swatch:hover{transform:scale(1.3)}.color-swatch.active{border-color:#00000080}.note-body{flex:1;padding:.65rem .75rem .6rem;cursor:default}.task-list{display:flex;flex-direction:column;gap:.05rem;max-height:380px;overflow-y:auto}.sticky-note--list .task-list{max-height:none}.add-task-form{margin-top:.5rem}.add-task-input{width:100%;background:transparent;border:none;border-bottom:2px dashed rgba(0,0,0,.2);outline:none;font-family:var(--font-notes);font-size:1.2rem;color:#0000008c;padding:.2rem 0;transition:border-color .15s}.add-task-input:focus{border-bottom-color:#00000080;border-bottom-style:solid}.add-task-input::placeholder{color:#00000047}.note-footer{padding:.4rem .75rem .55rem;display:flex;align-items:center;gap:.6rem;border-top:1px solid rgba(0,0,0,.08)}.note-progress-bar{flex:1;height:5px;border-radius:3px;background:#0000001f;overflow:hidden}.note-progress-fill{height:100%;border-radius:3px;transition:width .4s ease}.note-progress-text{font-size:.78rem;font-weight:600;color:#00000073;white-space:nowrap}.sticky-note--search-dimmed{opacity:.18!important;pointer-events:none!important;transition:opacity .25s ease!important}.sticky-note--canvas{transition:box-shadow .2s,transform .2s,opacity .25s}.sticky-note--list{transition:box-shadow .2s,opacity .25s}.note-btn--archive{color:#00000080}.note-btn--archive:hover{background:#0000501a;color:#0000b4b3}@keyframes note-pop{0%{opacity:0;transform:rotate(var(--note-rotation, 0deg)) scale(.75)}to{opacity:1;transform:rotate(var(--note-rotation, 0deg)) scale(1)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500;padding:1rem;animation:fade-in .15s ease}.modal-card{background:#1c1c1e;border:1px solid rgba(255,255,255,.1);border-radius:20px;width:100%;max-width:480px;box-shadow:0 24px 80px #0009;animation:slide-up .2s cubic-bezier(.34,1.2,.64,1);overflow:hidden}@keyframes slide-up{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h2{font-size:1.1rem;font-weight:700;color:var(--text)}.modal-close{font-size:1.5rem;color:var(--text-muted);line-height:1;padding:.15rem .4rem;border-radius:var(--radius-sm);transition:background .12s}.modal-close:hover{background:#ffffff14;color:var(--text)}.modal-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.modal-description{color:var(--text-muted);font-size:.88rem;line-height:1.5}.share-link-row{display:flex;gap:.5rem}.share-link-input{flex:1;border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.82rem;color:var(--text-muted);background:#ffffff0d;outline:none;min-width:0}.members-section h3{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.members-list{display:flex;flex-direction:column;gap:.6rem}.member-item{display:flex;align-items:center;gap:.75rem}.member-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.member-info{flex:1;min-width:0;display:flex;flex-direction:column}.member-name{font-size:.88rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.member-role--owner{background:#ffd60a26;color:var(--accent)}.member-role--member{background:#30d15826;color:#30d158}.canvas-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.canvas-header{background:var(--bg-header);border-bottom:1px solid var(--border);padding:0 1.25rem;height:54px;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:200;flex-shrink:0}.canvas-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.canvas-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.board-switcher{position:relative}.board-switcher-btn{display:flex;align-items:center;gap:.45rem;background:#ffffff0f;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .75rem;color:var(--text);font-size:.95rem;font-weight:600;transition:background .15s;max-width:240px;cursor:pointer}.board-switcher-btn:hover{background:#ffffff1a}.board-switcher-icon{font-size:1rem;flex-shrink:0}.board-switcher-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-name-editable{cursor:text}.board-name-editable:hover{text-decoration:underline dotted var(--text-muted)}.board-name-input{background:transparent;border:none;border-bottom:1px solid var(--accent);color:var(--text);font-size:.95rem;font-weight:600;font-family:inherit;outline:none;padding:0;width:140px;max-width:180px;min-width:60px}.board-switcher-caret{font-size:.6rem;color:var(--text-muted);flex-shrink:0}.board-switcher-caret-btn{background:none;border:none;padding:0 .1rem;font-size:.6rem;color:var(--text-muted);cursor:pointer;flex-shrink:0;line-height:1}.board-switcher-color{width:11px;height:11px;border-radius:2px;background:var(--accent);flex-shrink:0;display:none}.board-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:#2c2c2e;border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;box-shadow:var(--shadow-float);z-index:500;animation:pop-in .12s ease}.board-menu-section{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;padding:.25rem .5rem .4rem}.board-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.5rem .6rem;border-radius:var(--radius-xs);font-size:.9rem;color:var(--text);transition:background .12s}.board-menu-item:hover{background:#ffffff14}.board-menu-item.active{background:#ffd60a1f;color:var(--accent)}.board-menu-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.board-menu-badge{margin-left:auto;font-size:.65rem;background:#ffffff1f;color:var(--text-muted);border-radius:4px;padding:1px 5px}.board-menu-divider{border:none;border-top:1px solid var(--border);margin:.35rem 0}.board-menu-new{color:var(--accent);font-weight:600}.board-menu-delete{color:var(--danger)}.board-menu-delete:hover{background:#ff375f1a}.user-menu-wrap{position:relative}.user-avatar-btn{width:34px;height:34px;border-radius:50%;color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.user-avatar-btn:hover{opacity:.85}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#2c2c2e;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .5rem .5rem;box-shadow:var(--shadow-float);z-index:500;animation:pop-in .12s ease}.user-menu-name{font-weight:700;font-size:.95rem;color:var(--text);padding:0 .6rem .1rem}.user-menu-email{font-size:.78rem;color:var(--text-muted);padding:0 .6rem .5rem}.user-menu-members-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffff59;padding:.25rem .6rem .2rem}.user-menu-member-item{display:flex;align-items:center;gap:.5rem;padding:.28rem .6rem}.user-menu-member-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:#fff;flex-shrink:0}.user-menu-member-info{display:flex;flex-direction:column;flex:1;min-width:0}.user-menu-member-name{font-size:.8rem;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-member-role{font-size:.66rem;color:#ffffff61;text-transform:capitalize}.user-menu-member-remove{background:none;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#ffffff73;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;flex-shrink:0;padding:0;line-height:1;transition:color .15s,border-color .15s}.user-menu-member-remove:hover{color:#ff375f;border-color:#ff375f}.user-menu-member-remove:disabled{opacity:.4;cursor:default}.canvas-board{flex:1;position:relative;overflow:auto;min-height:0;background-color:#111;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px}.canvas-board:after{content:"";display:block;min-width:2400px;min-height:1800px;pointer-events:none}.notes-list{flex:1;overflow-y:auto;padding:1rem .85rem 6rem;display:flex;flex-direction:column;gap:1rem}.canvas-empty-hint{position:absolute;bottom:5rem;right:5.5rem;text-align:right;color:#ffffff40;pointer-events:none;-webkit-user-select:none;user-select:none}.hint-arrow{font-size:2.5rem;line-height:1;margin-bottom:.3rem}.canvas-empty-hint p{font-family:var(--font-hand);font-size:1.2rem}.empty-hint{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-family:var(--font-hand);font-size:1.3rem}.canvas-loading{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.add-note-fab-wrap{position:fixed;bottom:1.75rem;right:1.75rem;z-index:300;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.add-note-fab{width:58px;height:58px;border-radius:50%;background:var(--accent);color:#111;font-size:2rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px #ffd60a80,0 2px 8px #0006;transition:transform .15s,background .15s,box-shadow .15s}.add-note-fab:hover{background:var(--accent-dark);transform:scale(1.08);box-shadow:0 6px 32px #ffd60a99,0 2px 8px #0006}.add-note-fab:active{transform:scale(.95)}.add-note-picker{background:#2c2c2e;border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:var(--shadow-float);animation:pop-in .14s ease}.add-note-picker-label{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}.add-note-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.add-note-color-btn{width:38px;height:38px;border-radius:50%;border:3px solid transparent;transition:transform .12s,box-shadow .12s}.add-note-color-btn:hover{transform:scale(1.2);box-shadow:0 4px 16px #0006}.canvas-board--tidy{display:flex;flex-wrap:wrap;align-content:flex-start;gap:1.5rem;padding:1.5rem}.canvas-board--tidy:after{display:none}.btn-tidy-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff0f;color:var(--text-muted);transition:background .15s,color .15s;flex-shrink:0}.btn-tidy-toggle:hover{background:#ffffff1a;color:var(--text)}.btn-tidy-toggle.active{background:#ffd60a1f;color:var(--accent);border-color:#ffd60a4d}@keyframes pop-in{0%{opacity:0;transform:scale(.88) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.btn-view-toggle{display:flex;align-items:center;gap:.4rem;background:#ffffff0f;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .75rem;color:var(--text-muted);font-size:.85rem;font-weight:600;transition:background .15s,color .15s;flex-shrink:0}.btn-view-toggle:hover{background:#ffffff1a;color:var(--text)}.btn-view-toggle--active{background:#ffd60a1a;border-color:#ffd60a40;color:#ffd60a}.btn-view-toggle--active:hover{background:#ffd60a29;color:#ffd60a}.focused-wrap{flex:1;display:flex;flex-direction:column;align-items:center;overflow-y:auto;overflow-x:hidden;padding:2rem 2.5vw 3rem;background:transparent;scrollbar-width:none;-ms-overflow-style:none}.focused-wrap::-webkit-scrollbar{display:none}.focused-note-container{width:95%;max-width:700px;min-width:0;min-height:calc(90vh - 54px);display:flex;flex-direction:column}.sticky-note--focused{position:relative!important;left:auto!important;top:auto!important;width:100%!important;flex:1;display:flex;flex-direction:column;transform:none!important;border-radius:var(--radius)!important;box-shadow:0 12px 60px #0009!important}.sticky-note--focused:after{display:none}.sticky-note--focused .note-header{border-radius:var(--radius) var(--radius) 0 0;cursor:default}.sticky-note--focused .note-header-actions,.sticky-note--focused .note-btn--pin{opacity:1}.sticky-note--focused .note-btn--pin--active{color:#000000b8!important}.sticky-note--focused .task-list::-webkit-scrollbar{display:none}.sticky-note--focused .task-list{max-height:none!important}.sticky-note--focused .note-body{padding:.75rem 1rem 1rem;flex:1}.sticky-note--focused .note-title-input{font-size:1.75rem;cursor:text;color:#000c}.sticky-note--focused .task-text{font-size:1.35rem;color:#000000c7}.sticky-note--focused .task-item--done .task-text{color:#00000052}.sticky-note--focused .add-task-input{font-size:1.3rem;color:#00000080}.sticky-note--focused .note-footer{border-top-color:#0000001f;padding:.5rem 1rem .75rem}.sticky-note--focused .note-progress-text{color:#0006}.sticky-note--focused .task-checkbox{border-color:#00000047}.sticky-note--focused .task-item:hover{background:#0000000d}.search-icon-btn{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff0f;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.search-icon-btn:hover{background:#ffffff1a;color:var(--text)}.search-bar{display:flex;align-items:center;background:#ffffff0f;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 .5rem;gap:.4rem;height:32px;width:220px;transition:border-color .15s,background .15s;flex-shrink:0}.search-bar:focus-within{border-color:#ffffff38;background:#ffffff17}.search-bar-icon{color:var(--text-muted);display:flex;align-items:center;flex-shrink:0}.search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:.875rem;min-width:0}.search-input::placeholder{color:var(--text-muted)}.search-clear-btn{width:18px;height:18px;border-radius:50%;color:var(--text-muted);font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .12s;flex-shrink:0;padding:0}.search-clear-btn:hover{background:#ffffff1a;color:var(--text)}.search-context-bar{background:#ffffff08;border-bottom:1px solid var(--border);padding:.35rem 1.25rem;font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;flex-shrink:0;animation:pop-in .12s ease}.search-context-item{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.search-context-label{white-space:nowrap}.search-other-board-btn{color:var(--accent);font-weight:600;font-size:.78rem;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.search-other-board-btn:hover{opacity:.8}.search-archived-link{color:var(--text-muted);font-size:.78rem;font-weight:600;background:none;border:none;padding:0;cursor:pointer;transition:color .12s}.search-archived-link:hover{color:var(--text)}.btn-archive{background:#ffffff0f;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .75rem;color:var(--text-muted);font-size:.82rem;font-weight:600;transition:background .15s,color .15s;flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:.35rem}.btn-archive:hover{background:#ffffff1a;color:var(--text)}.archive-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:400;display:flex;justify-content:flex-end;animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.archive-drawer{width:380px;max-width:100vw;height:100%;background:#1c1c1e;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;animation:slide-in-right .22s cubic-bezier(.16,1,.3,1)}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.archive-drawer-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.archive-drawer-title{font-size:1rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.5rem}.archive-search-badge{font-size:.7rem;font-weight:600;background:#ffd60a26;color:var(--accent);border-radius:10px;padding:1px 8px}.archive-close-btn{width:28px;height:28px;border-radius:50%;color:var(--text-muted);font-size:1.3rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;padding:0}.archive-close-btn:hover{background:#ffffff1a;color:var(--text)}.archive-loading{flex:1;display:flex;align-items:center;justify-content:center}.archive-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem;padding:2rem;text-align:center}.archive-notes-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.archive-note-card{border-radius:var(--radius);overflow:hidden;opacity:.9;box-shadow:0 2px 12px #00000040}.archive-note-header{padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.archive-note-title{font-family:var(--font-hand);font-size:1.1rem;font-weight:700;color:#000000bf;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.archive-note-date{font-size:.68rem;color:#00000073;white-space:nowrap;flex-shrink:0}.archive-note-tasks{padding:.45rem .75rem}.archive-task{display:flex;align-items:baseline;gap:.4rem;font-family:var(--font-hand);font-size:1rem;color:#000000a6;padding:.15rem 0}.archive-task--done{text-decoration:line-through;opacity:.55}.archive-task-check{font-size:.7rem;color:#00000059;flex-shrink:0}.archive-task-text{min-width:0;overflow-wrap:break-word}.archive-task-more{font-size:.75rem;color:#0006;padding-top:.2rem;font-family:var(--font-ui)}.archive-note-actions{display:flex;gap:.5rem;padding:.5rem .75rem;background:#0000000f;border-top:1px solid rgba(0,0,0,.08)}.archive-restore-btn{flex:1;background:#00000014;border:none;border-radius:var(--radius-xs);padding:.4rem;font-size:.82rem;font-weight:600;color:#000000b3;cursor:pointer;transition:background .12s;font-family:var(--font-ui)}.archive-restore-btn:hover{background:#00000026}.archive-delete-btn{flex:1;background:transparent;border:1px solid rgba(200,0,0,.25);border-radius:var(--radius-xs);padding:.4rem;font-size:.82rem;color:#b40000bf;cursor:pointer;transition:background .12s,color .12s;font-family:var(--font-ui)}.archive-delete-btn:hover{background:#c8000014;color:#c00}.search-highlight{background:#ffd60a;color:#1a1000;border-radius:2px;padding:0 1px;font-style:normal}.font-picker-wrap{position:relative}.btn-font-picker{display:flex;align-items:center;justify-content:center;width:34px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff0f;color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:-.02em;transition:background .15s,color .15s;flex-shrink:0}.btn-font-picker:hover{background:#ffffff1a;color:var(--text)}.btn-font-picker.active{background:#ffd60a1a;border-color:#ffd60a40;color:var(--accent)}.font-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:#2c2c2e;border:1px solid var(--border);border-radius:var(--radius);padding:.4rem;box-shadow:var(--shadow-float);z-index:500;animation:pop-in .12s ease}.font-menu-label{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;padding:.2rem .5rem .4rem}.font-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;padding:.45rem .6rem;border-radius:var(--radius-xs);font-size:.88rem;color:var(--text);transition:background .1s}.font-menu-item:hover{background:#ffffff14}.font-menu-item.active{background:#ffd60a1a;color:var(--accent)}.font-menu-preview{font-size:1rem;opacity:.65;flex-shrink:0;width:20px;text-align:center}@media (display-mode: standalone){.focused-wrap{padding:.5rem .5vw 1rem}.focused-note-container{width:100%;max-width:100%}}@media (max-width: 640px){.canvas-header{padding:0 .85rem;gap:.5rem}.canvas-header-left{flex:1;min-width:0;overflow:visible}.canvas-header-right{gap:.4rem}.board-switcher{overflow:visible}.board-switcher-btn{max-width:none;min-height:44px;padding:.4rem .6rem}.board-switcher-icon{display:none}.board-switcher-color{display:block}.btn-label{display:none}.add-note-fab-wrap{bottom:1.25rem;right:1.25rem}.add-note-fab{width:54px;height:54px;font-size:1.75rem}.focused-wrap{padding:1.5rem .85rem 6rem}.btn-view-toggle{font-size:.78rem;padding:.3rem .5rem;min-height:44px}.btn-share{padding:.35rem .6rem;min-height:44px}.btn-archive{padding:.35rem .5rem}.btn-tidy-toggle{display:none}.search-bar{width:140px}.archive-drawer{width:100vw}.btn-font-picker,.online-avatars-wrap{display:none}}.help-page{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-ui);overflow-y:auto}.help-topbar{position:sticky;top:0;z-index:100;background:var(--bg-header);border-bottom:1px solid var(--border);height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem}.help-back-btn{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.88rem;font-weight:500;padding:.4rem .75rem;border-radius:var(--radius-sm);transition:background .15s,color .15s}.help-back-btn:hover{background:#ffffff14;color:var(--text)}.help-back-btn svg{flex-shrink:0}.help-topbar-title{font-size:.95rem;font-weight:700;color:var(--text);position:absolute;left:50%;transform:translate(-50%)}.help-main{max-width:740px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.help-hero{text-align:center;padding:2.5rem 0 3rem}.help-hero-icon{font-size:3rem;line-height:1;margin-bottom:.75rem}.help-hero-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.6rem}.help-hero-sub{font-size:1rem;color:var(--text-muted);max-width:440px;margin:0 auto;line-height:1.6}.help-sections{display:flex;flex-direction:column;gap:1.25rem}.help-section{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.75rem}.help-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}.help-section-icon{font-size:1.4rem;line-height:1;flex-shrink:0;width:36px;height:36px;border-radius:10px;background:#ffffff0f;display:flex;align-items:center;justify-content:center}.help-section-title{font-size:1.1rem;font-weight:700;color:var(--text)}.help-steps{display:flex;flex-direction:column;gap:.85rem}.help-step{display:flex;gap:.875rem;align-items:flex-start}.help-step-num{background:var(--accent);color:#111;width:22px;height:22px;border-radius:50%;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.help-step-text{font-size:.9rem;color:var(--text-muted);line-height:1.55}.help-step-text strong{color:var(--text);font-weight:600}.help-bullets{display:flex;flex-direction:column;gap:.65rem}.help-bullet{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;color:var(--text-muted);line-height:1.55}.help-bullet-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:7px}.help-bullet strong{color:var(--text);font-weight:600}.help-key{display:inline-flex;align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:5px;padding:1px 7px;font-size:.8rem;font-weight:600;color:var(--text);vertical-align:middle;line-height:1.6}.help-accent{color:var(--accent);font-weight:700}.help-install-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem}.help-install-card{background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.4rem}.help-install-icon{font-size:1.5rem;line-height:1;margin-bottom:.25rem}.help-install-title{font-size:.85rem;font-weight:700;color:var(--text)}.help-install-desc{font-size:.8rem;color:var(--text-muted);line-height:1.5}.help-tip{margin-top:1rem;background:#ffd60a14;border:1px solid rgba(255,214,10,.2);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.85rem;color:var(--text-muted);line-height:1.5}.help-tip strong{color:var(--accent);font-weight:700}@media (max-width: 600px){.help-main{padding:1.5rem 1rem 4rem}.help-hero{padding:1.75rem 0 2rem}.help-hero-title{font-size:1.65rem}.help-section{padding:1.2rem 1.25rem}.help-install-grid{grid-template-columns:1fr}.help-topbar-title{display:none}}.btn-help{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);color:var(--text-muted);font-size:.82rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,color .15s,background .15s;font-family:var(--font-ui)}.btn-help:hover{border-color:var(--accent);color:var(--accent);background:#ffd60a14}.admin-wrap{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-ui)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:56px;background:var(--bg-header);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.admin-header-left{display:flex;align-items:center;gap:.75rem}.admin-logo{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.admin-badge{background:var(--accent);color:#111;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:4px}.admin-main{max-width:1400px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2.5rem}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.admin-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:1rem}.admin-section-header .admin-section-title{margin-bottom:0}.admin-refresh{font-size:.82rem}.admin-cards{display:flex;gap:1rem;flex-wrap:wrap}.admin-card{background:var(--bg-header);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.25rem 1.75rem;min-width:140px;flex:1}.admin-card-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:.35rem;display:flex;align-items:baseline;gap:.5rem}.admin-card-label{font-size:.78rem;color:var(--text-muted)}.admin-trend{font-size:.78rem;font-weight:600}.admin-trend--up{color:#30d158}.admin-trend--down{color:var(--danger)}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table thead{background:#ffffff0a}.admin-table th{padding:.75rem 1rem;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid var(--border)}.admin-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-th-sortable:hover{color:var(--text)}.admin-th-num{text-align:right}.admin-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff08}.admin-row--disabled{opacity:.55}.admin-sort-arrow{font-size:.7rem;margin-left:.25rem;color:var(--accent)}.admin-sort-arrow--inactive{color:var(--text-dim)}.admin-td-muted{color:var(--text-muted)}.admin-td-num{text-align:right;font-variant-numeric:tabular-nums}.admin-user-cell{display:flex;align-items:center;gap:.6rem}.admin-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.admin-tag{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .35rem;border-radius:3px}.admin-tag--disabled{background:#ff375f33;color:var(--danger)}.admin-tag--self{background:#ffd60a26;color:var(--accent)}.admin-actions{display:flex;gap:.4rem}.admin-btn{font-size:.78rem;font-weight:600;padding:.25rem .65rem;border-radius:5px;border:none;cursor:pointer;transition:opacity .15s;white-space:nowrap}.admin-btn:disabled{opacity:.5;cursor:default}.admin-btn--disable{background:#ffd60a26;color:var(--accent)}.admin-btn--disable:hover:not(:disabled){background:#ffd60a40}.admin-btn--enable{background:#30d15826;color:#30d158}.admin-btn--enable:hover:not(:disabled){background:#30d15840}.admin-btn--delete{background:#ff375f26;color:var(--danger)}.admin-btn--delete:hover:not(:disabled){background:#ff375f40}.admin-loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);font-size:.9rem}.install-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#1c1c1e;border-top:1px solid rgba(255,255,255,.1);padding:.9rem 1.25rem 1.1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 -4px 24px #0006;animation:install-slide-up .3s ease}@keyframes install-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-banner--desktop{border-top:2px solid var(--accent);flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.install-banner-text{font-size:.88rem;color:var(--text);line-height:1.4}.install-banner-actions{display:flex;gap:.6rem}.install-btn{border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;padding:.45rem 1rem;border:none;cursor:pointer;transition:opacity .15s}.install-btn--primary{background:var(--accent);color:#111}.install-btn--primary:hover{opacity:.88}.install-btn--ghost{background:#ffffff14;color:var(--text-muted)}.install-btn--ghost:hover{background:#ffffff21}.install-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0009;display:flex;align-items:flex-end;animation:install-fade-in .2s ease}@keyframes install-fade-in{0%{opacity:0}to{opacity:1}}.install-modal{width:100%;background:#1e1e1e;border-top-left-radius:18px;border-top-right-radius:18px;border-top:1px solid rgba(255,255,255,.1);padding:1.25rem 1.5rem 2rem;display:flex;flex-direction:column;gap:1rem;animation:install-sheet-up .25s ease}@keyframes install-sheet-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.install-modal-header{display:flex;align-items:center;justify-content:space-between}.install-modal-title{font-size:1rem;font-weight:700;color:var(--text)}.install-modal-close{background:#ffffff14;border:none;color:var(--text-muted);width:28px;height:28px;border-radius:50%;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.install-modal-close:hover{background:#ffffff24}.install-modal-body{padding:0}.install-instructions-intro{font-size:.88rem;color:var(--text-muted);margin-bottom:.85rem;line-height:1.5}.install-steps{list-style:none;display:flex;flex-direction:column;gap:.75rem}.install-steps li{display:flex;align-items:center;gap:.75rem;font-size:.88rem;color:var(--text);line-height:1.45}.install-step-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff12;border-radius:8px;font-size:1rem;flex-shrink:0;color:var(--accent)}.install-modal-done{width:100%;background:var(--accent);color:#111;border:none;border-radius:var(--radius-sm);padding:.7rem;font-size:.95rem;font-weight:700;cursor:pointer;margin-top:.25rem;transition:opacity .15s}.install-modal-done:hover{opacity:.88}:root{--font-hand: "Caveat", cursive;--font-ui: "Inter", system-ui, sans-serif;--font-notes: var(--font-hand);--bg: #111111;--bg-header: #1c1c1e;--border: rgba(255,255,255,.08);--text: #f5f5f7;--text-muted: #8e8e93;--text-dim: #48484a;--accent: #FFD60A;--accent-dark: #c9a800;--danger: #FF375F;--radius: 14px;--radius-sm: 8px;--radius-xs: 5px;--shadow-float: 0 8px 32px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);--shadow-note: 8px 12px 40px var(--note-shadow, rgba(0,0,0,.4))}*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}*{-ms-overflow-style:none!important;scrollbar-width:none!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow-x:hidden;font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit;border:none;background:none;touch-action:manipulation}input{font-family:inherit}ul{list-style:none}a{color:inherit;text-decoration:none}.btn-primary{background:var(--accent);color:#111;border-radius:var(--radius-sm);padding:.55rem 1.2rem;font-weight:700;font-size:.95rem;transition:background .15s,transform .1s}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:active{transform:scale(.97)}.btn-ghost{color:var(--text-muted);padding:.4rem .8rem;border-radius:var(--radius-sm);font-size:.85rem;transition:background .15s,color .15s}.btn-ghost:hover{background:#ffffff14;color:var(--text)}.btn-share{display:flex;align-items:center;gap:.4rem;background:transparent;border:2px solid var(--accent);color:var(--accent);border-radius:var(--radius-sm);padding:.35rem 1rem;font-size:.85rem;font-weight:700;transition:background .15s,color .15s;letter-spacing:.02em}.btn-share:hover{background:var(--accent);color:#111}.spinner{width:40px;height:40px;border:3px solid rgba(255,214,10,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash-loading{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0}.online-avatars-wrap{position:relative}.online-avatars{display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer}.online-avatar{width:30px;height:30px;border-radius:50%;border:2px solid var(--bg-header);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.72rem;position:relative;margin-left:-6px}.online-avatar:first-child{margin-left:0}.online-avatar--me{border-color:var(--accent)}.online-dot{position:absolute;bottom:0;right:0;width:8px;height:8px;border-radius:50%;background:#30d158;border:1.5px solid var(--bg-header)}.online-avatar--overflow{background:#444;font-size:.62rem}.members-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#1e1e1e;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.5rem 0;min-width:200px;z-index:200;box-shadow:0 8px 24px #0006}.members-dropdown-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#fff6;padding:.25rem 1rem .5rem}.members-dropdown-item{display:flex;align-items:center;gap:.6rem;padding:.4rem 1rem}.members-dropdown-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.members-dropdown-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.members-dropdown-name{font-size:.85rem;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.members-dropdown-role{font-size:.72rem;color:#fff6;text-transform:capitalize}.members-online-dot{width:7px;height:7px;border-radius:50%;background:#30d158;flex-shrink:0}@media (display-mode: standalone){.canvas-board{min-height:100vh}.add-note-fab-wrap{bottom:1.25rem;right:1.25rem}}
