body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;height:100dvh;display:flex}@keyframes spin{to{transform:rotate(360deg)}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--canvas-bg:#f5f5f3;--surface:#fff;--border:#e0e0e0;--border-light:#ebebeb;--text:#1a1a1a;--muted:#999;--accent:#e0576e;--accent2:#c9455c;--accent-soft:#fc8292;--note-bg:#fffbe6;--note-border:khaki;--radius:10px;--shadow:0 2px 8px #0000001a;--shadow-hover:0 4px 16px #00000026}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root,.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.screen{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;height:100dvh;display:flex;overflow:hidden}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.top-bar{padding:calc(4px + env(safe-area-inset-top,0px)) 10px 4px;background:var(--surface);border-bottom:1px solid var(--border-light);z-index:10;justify-content:space-between;align-items:center;min-height:36px;display:flex}.app-title{color:var(--accent);letter-spacing:-.3px;font-size:1.1rem;font-weight:700}.logout-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1.1rem}.logout-btn:hover{background:var(--border-light)}.auth-screen{background:var(--canvas-bg);justify-content:center;align-items:center;height:100dvh;display:flex}.auth-loading{color:var(--muted);font-size:2rem;animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.auth-card{background:var(--surface);box-shadow:var(--shadow-hover);border-radius:20px;flex-direction:column;align-items:center;gap:8px;width:320px;padding:40px 32px;display:flex}.auth-logo{font-size:3rem}.auth-title{color:var(--accent);letter-spacing:-.5px;margin-top:4px;font-size:1.6rem;font-weight:800}.auth-sub{color:var(--muted);margin-bottom:16px;font-size:.9rem}.auth-form{flex-direction:column;gap:10px;width:100%;display:flex}.auth-input{border:1.5px solid var(--border);border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:1rem}.auth-input:focus{border-color:var(--accent)}.auth-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px;font-size:1rem;font-weight:600}.auth-btn:disabled{opacity:.6}.auth-error{color:var(--accent);font-size:.85rem}.auth-sent{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.auth-sent-icon{font-size:2.5rem}.auth-sent-note{color:var(--muted);font-size:.85rem}.auth-resend{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:8px;font-size:.9rem;text-decoration:underline}.auth-tabs{border:1.5px solid var(--border);border-radius:10px;width:100%;margin-bottom:4px;display:flex;overflow:hidden}.auth-tab{cursor:pointer;color:var(--muted);background:0 0;border:none;flex:1;padding:10px;font-size:.95rem;font-weight:500}.auth-tab.active{background:var(--accent);color:#fff;font-weight:600}.auth-link{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:6px;font-size:.85rem;text-decoration:underline}.auth-message{text-align:center;color:var(--text);flex-direction:column;align-items:center;gap:12px;padding:8px 0;font-size:.95rem;display:flex}.board-title{color:var(--text);text-align:center;flex:1;font-size:.95rem;font-weight:600}.paste-img-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1.1rem}.paste-img-btn:hover{background:var(--border-light)}.backup-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1rem;line-height:1}.backup-btn:hover{background:var(--border-light)}.back-btn,.home-btn{cursor:pointer;color:var(--muted);text-align:center;background:0 0;border:none;border-radius:6px;min-width:36px;padding:4px 8px;font-size:1.3rem}.back-btn:hover,.home-btn:hover{background:var(--border-light)}.top-bar-spacer{min-width:36px}.canvas-container{background:var(--canvas-bg);touch-action:none;cursor:default;flex:1;position:relative;overflow:hidden}.canvas-bg{background:#f5f5f3;position:absolute;inset:-9999px}.canvas-inner{transform-origin:0 0;width:4000px;height:4000px;position:absolute;top:0;left:0}.draggable-card{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;overflow:visible}.draggable-card:active{cursor:grabbing}.resize-handle{cursor:se-resize;touch-action:none;background:radial-gradient(circle at 72% 72%, var(--accent-soft) 4px, transparent 4px), radial-gradient(circle at 42% 72%, var(--accent-soft) 3px, transparent 3px), radial-gradient(circle at 72% 42%, var(--accent-soft) 3px, transparent 3px);opacity:.85;width:26px;height:26px;position:absolute;bottom:-6px;right:-6px}.board-icon-card{background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;min-width:112px;padding:18px 20px 16px;transition:box-shadow .15s;display:flex;position:relative}.board-icon-card:hover{box-shadow:var(--shadow-hover)}.board-icon-card.selected{outline:2.5px solid var(--accent-soft)}.board-icon-emoji{font-size:2.4rem}.board-color-dot{border-radius:50%;flex-shrink:0;width:40px;height:40px}.board-color-swatches{flex-wrap:wrap;justify-content:center;gap:8px;padding:4px 0;display:flex}.board-swatch{cursor:pointer;border:none;border-radius:50%;width:28px;height:28px;padding:0;box-shadow:0 0 0 1px #00000026}.board-icon-name{color:var(--text);text-align:center;-webkit-line-clamp:3;white-space:normal;overflow-wrap:break-word;-webkit-box-orient:vertical;max-width:110px;font-size:.88rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.el-card{background:var(--surface);box-shadow:var(--shadow);border-radius:8px;position:relative;overflow:hidden}.el-card:hover{box-shadow:var(--shadow-hover)}.el-image{border:1.5px solid var(--border-light);background:#f0f0f0;overflow:hidden}.el-image img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.el-note{background:var(--note-bg);border:1.5px solid var(--note-border);width:180px;min-height:80px;padding:10px 12px}.el-text{background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow);width:220px;min-height:80px;padding:0}.el-text.editing{border-color:var(--accent)}.el-link{background:var(--surface);border:1.5px solid var(--border);width:240px;padding:0 0 10px}.el-todo{background:var(--surface);border:1.5px solid var(--border);width:240px;min-height:80px;padding:0 0 10px}.el-document{background:var(--surface);border:1.5px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:12px;display:flex}.drag-handle{cursor:grab;background:#0000000a;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;min-height:24px;padding:3px 6px 2px;display:flex}.drag-handle:active{cursor:grabbing}.handle-dots{color:#bbb;-webkit-user-select:none;user-select:none;font-size:.85rem}.handle-edit{color:#fff;cursor:pointer;background:#888;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;display:flex}.handle-delete{color:#fff;cursor:pointer;background:#e05555;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.85rem;font-weight:700;display:flex}.el-card.selected,.el-image.selected{outline:2px solid var(--accent-soft)}.draggable-card.selected{z-index:20}.draggable-card.long-pressing{z-index:30;transition:transform .3s,box-shadow .3s;transform:scale(1.04);box-shadow:0 8px 24px #00000038}.img-popup-menu{z-index:50;white-space:nowrap;background:#1a1a1a;border-radius:20px;gap:6px;padding:7px 10px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.img-popup-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:12px;padding:5px 13px;font-family:inherit;font-size:.82rem}.img-popup-btn:active{background:#ffffff38}.img-popup-delete{background:#c0392b;font-weight:700}.card-delete-btn{color:#fff;cursor:pointer;opacity:0;z-index:10;background:#e05555;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.9rem;font-weight:700;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:-12px;right:-12px;box-shadow:0 1px 4px #0003}.el-card:hover .card-delete-btn,.board-icon-card:hover .card-delete-btn{opacity:1}.card-delete-btn:hover{transform:scale(1.15)}.card-text{color:var(--text);word-break:break-word;white-space:pre-wrap;padding-right:16px;font-size:.85rem;line-height:1.5}.card-text-body{color:var(--text);word-break:break-word;padding-right:16px;font-size:1rem;font-weight:600}.card-textarea,.card-input,.todo-input{touch-action:auto;-webkit-user-select:text;user-select:text}.card-textarea{resize:none;width:100%;color:var(--text);background:0 0;border:none;outline:none;min-height:80px;padding-right:16px;font-family:inherit;font-size:.85rem;line-height:1.5}.card-textarea-text{min-height:40px;font-size:1rem;font-weight:600}.card-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;outline:none;padding:2px 0;font-family:inherit;font-size:.85rem}.link-edit-col{flex-direction:column;padding:8px 10px;display:flex}.link-edit-row{align-items:center;gap:4px;display:flex}.link-edit-row .card-input{flex:1}.card-link-display{padding:10px 12px}.el-todo .todo-item,.el-todo .todo-add{padding-left:12px;padding-right:12px}.paste-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:1rem}.card-link-display{cursor:pointer;align-items:flex-start;gap:4px;padding:8px 10px;display:flex}.card-link-text{color:#2563eb;word-break:break-all;font-size:.82rem;text-decoration:underline}.font-size-badge{color:var(--muted);margin-left:auto;margin-right:4px;font-size:.65rem}.card-link{color:#2563eb;word-break:break-all;padding-right:16px;font-size:.82rem;display:block}.placeholder{color:var(--muted)}.todo-title{color:#222;text-transform:uppercase;margin-bottom:6px;font-size:.7rem;font-weight:700}.todo-item{align-items:center;gap:6px;margin-bottom:4px;display:flex}.todo-item input[type=checkbox]{flex-shrink:0}.todo-text{font-size:.85rem}.todo-text.done{color:var(--muted);text-decoration:line-through}.todo-input{border:none;border-bottom:1px solid var(--border-light);background:0 0;outline:none;flex:1;font-family:inherit;font-size:1rem}.todo-add{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.9rem;display:block}.todo-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:.8rem}.todo-input.done{color:var(--muted);text-decoration:line-through}.doc-open{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:2px 0;font-family:inherit;font-size:.75rem}.doc-icon{font-size:2rem}.doc-name{color:var(--text);word-break:break-all;text-align:center;font-size:.72rem}.doc-open{color:var(--accent);margin-top:4px;font-size:.75rem;text-decoration:none}.bottom-bar{background:var(--surface);border-top:1px solid var(--border-light);z-index:10;padding-bottom:env(safe-area-inset-bottom,0px)}.home-bottom{justify-content:center;align-items:center;gap:12px;padding:10px 16px;display:flex}.board-manage-btn{border:1.5px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:20px;padding:8px 16px;font-family:inherit;font-size:.88rem;font-weight:600;transition:background .15s,opacity .15s}.board-manage-btn:hover:not(:disabled){background:var(--border-light)}.board-manage-btn:disabled{opacity:.35;cursor:default}.board-menu-list{flex-direction:column;gap:6px;display:flex}.board-menu-item{background:var(--canvas-bg);border:1px solid var(--border);cursor:pointer;text-align:left;color:#3d3d3d;border-radius:10px;align-items:center;gap:10px;padding:13px 16px;font-family:inherit;font-size:.95rem;font-weight:500;transition:background .12s;display:flex}.board-menu-item:hover{background:var(--border-light)}.board-menu-danger{color:#e05555;border-color:#e0555540}.board-menu-danger:hover{background:#e055550f}.board-bottom{padding:4px 24px 10px}.bottom-nav{justify-content:space-around;align-items:center;gap:2px;display:flex}.nav-btn{cursor:pointer;min-width:40px;color:var(--text);background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:3px 6px;display:flex}.nav-btn:hover{background:var(--border-light)}.nav-icon{font-size:1.1rem;line-height:1}.nav-icon-img{object-fit:contain;width:18px;height:18px;margin:0 auto;display:block}.nav-label{color:#3d3d3d;font-size:.6rem}.add-board-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:24px;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;font-size:.78rem;font-weight:600;display:flex;box-shadow:0 2px 8px #e0576e4d}.add-board-btn:hover{background:var(--accent2)}.add-board-icon{font-size:1.2rem;line-height:1}.center-btn{border-radius:18px;padding:4px 10px}.add-board-btn.center-btn{color:var(--text);box-shadow:none;background:#e6e6e6}.add-board-btn.center-btn:hover{background:#dcdcdc}.image-picker-options{flex-direction:column;gap:8px;display:flex}.picker-option{background:var(--canvas-bg);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;display:flex}.picker-option:hover{background:var(--border-light)}.picker-option-disabled{opacity:.45;cursor:default}.picker-option-disabled:hover{background:var(--canvas-bg)}.picker-icon{font-size:1.3rem}.picker-soon{color:var(--muted);background:var(--border-light);border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.75rem}.image-picker-modal{width:300px}.img-fullscreen-overlay{z-index:100;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.img-fullscreen-hint{color:#ffffffb3;text-align:center;font-size:.85rem}.img-fullscreen-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;padding:10px 28px;font-size:1rem}.modal-overlay{z-index:50;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=600px){.modal-overlay{align-items:center;padding:20px}}.modal{background:var(--surface);border:1px solid var(--border);padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;flex-direction:column;gap:14px;width:100%;max-width:480px;display:flex}@media (width>=600px){.modal{border-radius:16px;padding:24px 20px}}.modal-wide{max-width:560px}.modal h3{font-size:1rem;font-weight:700}.text-input{background:var(--canvas-bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95rem}.text-input:focus{outline:2px solid var(--accent);border-color:var(--accent)}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:.9rem;font-weight:600}.btn-primary:hover{background:var(--accent2)}.btn-primary:disabled{opacity:.5}.btn-ghost{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:10px 16px;font-family:inherit;font-size:.9rem;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:var(--border-light)}.url-bar{gap:8px;display:flex}.url-bar .text-input{flex:1}.sync-step{flex-direction:column;gap:12px;display:flex}.helper{color:var(--muted);font-size:.85rem;line-height:1.5}.instructions{color:var(--muted);padding-left:20px;font-size:.85rem;line-height:1.8}.instructions strong{color:var(--text)}.instructions code{background:var(--canvas-bg);border-radius:4px;padding:1px 5px;font-size:.8rem}.field-label{color:var(--muted);font-size:.82rem}.board-list{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;max-height:220px;padding:8px;display:flex;overflow-y:auto}.board-item{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 4px;font-size:.88rem;display:flex}.board-item:hover{background:var(--canvas-bg)}.board-item small{color:var(--muted);font-size:.75rem}.sync-progress{text-align:center;align-items:center;padding:12px 0}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}.done-icon{color:#43a047;background:#e8f5e9;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:flex}.pinterest-login-btn{color:#fff;cursor:pointer;background:#e60023;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 24px;font-family:inherit;font-size:1rem;font-weight:600;display:flex}.pinterest-login-btn:hover{background:#c0001d}.el-color-card{box-shadow:var(--shadow);border:none;border-radius:10px;width:fit-content;overflow:hidden}.color-card-row{align-items:center;gap:8px;padding:7px 10px;display:flex}.color-card-input-native{cursor:pointer;appearance:none;background:0 0;border:2px solid #ffffffb3;border-radius:50%;flex-shrink:0;width:28px;height:28px;padding:0}.color-card-input-native::-webkit-color-swatch-wrapper{border-radius:50%;padding:0}.color-card-input-native::-webkit-color-swatch{border:none;border-radius:50%}.color-card-codes{flex-direction:column;gap:2px;display:flex}.color-code-row{align-items:center;gap:6px;font-size:.72rem;display:flex}.color-code-label{opacity:.6;flex-shrink:0;width:24px;font-size:.62rem;font-weight:700}.color-code-val{letter-spacing:.02em;font-family:Courier New,monospace;font-size:.72rem}.color-card-del{color:#fff;cursor:pointer;background:#00000040;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:2px;font-size:.8rem;display:flex}.undo-toast{bottom:calc(70px + env(safe-area-inset-bottom,0px));color:#fff;z-index:100;white-space:nowrap;background:#222;border-radius:24px;align-items:center;gap:12px;padding:10px 16px;font-size:.88rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.undo-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:4px 12px;font-family:inherit;font-size:.85rem;font-weight:600}.undo-close{color:#fff9;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.el-card.drop-target,.el-collection.drop-target{outline:2.5px dashed var(--accent);box-shadow:0 0 0 4px #fc829226}.el-collection{background:#f0f0f0;border:1px solid #d2d2d2;border-radius:10px;max-width:none;position:relative;overflow:hidden;box-shadow:0 3px 12px #00000026}.el-collection:hover{box-shadow:0 5px 18px #0000002e}.el-collection.selected{outline:2px solid var(--accent-soft)}.col-header{cursor:grab;border-bottom:1px solid #d8d8d8;justify-content:center;align-items:center;gap:6px;padding:12px 12px 11px;display:flex;position:relative}.col-expand{background:var(--border-light);border:1px solid var(--border);height:26px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:0 10px 0 8px;font-size:.78rem;font-weight:600;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.col-expand-label{line-height:1}.col-expand:hover{background:var(--border)}.col-header:active{cursor:grabbing}.col-header-icon{background:var(--accent);border-radius:3px;flex-shrink:0;width:13px;height:13px}.col-header-title{color:#222;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.collection-items{background:#fff;border-radius:6px;flex-flow:wrap;align-content:flex-start;align-items:flex-start;gap:6px;margin:8px;padding:10px;display:flex}.collection-empty{text-align:center;color:var(--muted);background:#fff;border-radius:6px;margin:8px;padding:20px 12px;font-size:.78rem;font-style:italic}.collection-item-wrap{position:relative}.collection-item-wrap img{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:100%;height:auto;display:block}.col-img-eject{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.9rem;line-height:1;display:flex;position:absolute;top:4px;right:4px}.column-label{color:#222;text-transform:uppercase;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;flex:1;padding-left:4px;font-size:.68rem;font-weight:600;overflow:hidden}.col-add-btn{margin-right:4px;padding:2px 6px!important;font-size:.7rem!important}.img-action-btn{color:#666;border:1px solid var(--border);cursor:pointer;background:#ffffff26;border-radius:6px;font-family:inherit}.col-menu-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:1.1rem;line-height:1}.col-menu-btn:hover{background:#00000014}.col-menu-dropdown{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:8px;min-width:140px;position:absolute;top:-8px;right:0;overflow:hidden;box-shadow:0 4px 16px #00000026}.col-menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:9px 14px;font-family:inherit;font-size:.85rem;display:block}.col-menu-item:hover{background:var(--hover)}.col-menu-danger{color:#e8315a}.col-color-panel{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:8px;flex-wrap:wrap;gap:6px;width:212px;padding:10px;display:flex;position:absolute;top:-8px;right:0;box-shadow:0 4px 16px #00000026}.col-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px}.col-color-swatch--active{border-color:var(--text)}.col-color-none{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-family:inherit;font-size:.72rem}.el-idea{background:var(--note-bg);border:1.5px solid var(--note-border);padding:0}.idea-label{color:#222;text-transform:uppercase;letter-spacing:.05em;flex:1;padding-left:4px;font-size:.65rem;font-weight:700}.card-textarea-idea{resize:none;min-height:60px;padding:8px 10px;font-size:.95rem;font-weight:500;line-height:1.55}.listening-dot{background:#e8315a;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s infinite pulse}.idea-mic-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:0 4px;font-size:1.1rem;line-height:1}.idea-mic-btn.listening{background:#fc82921f;animation:1s infinite pulse}.speech-msg{color:var(--muted);padding:4px 10px 6px;font-size:.75rem;font-style:italic}.link-view{flex-direction:column;gap:4px;padding:10px 12px 12px;display:flex}.link-view-title{color:var(--text);font-size:.95rem;font-weight:600;line-height:1.3}.link-view-url{color:#2563eb;word-break:break-all;font-size:.78rem;text-decoration:underline}.link-view-placeholder{color:var(--muted);font-weight:400}.link-field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.7rem;font-weight:700;display:block}.el-palette-row{touch-action:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.palette-swatch-wrap{touch-action:none;flex-direction:column;align-items:center;gap:4px;display:flex}.palette-swatch-sq{box-sizing:border-box;cursor:pointer;touch-action:none;border-radius:10px;position:relative;overflow:hidden}.palette-swatch-sq--light{box-shadow:inset 0 0 0 1.5px #00000024}.palette-swatch-sq.active{outline:2px solid var(--text);outline-offset:2px}.palette-color-input-hidden{opacity:0;cursor:pointer;touch-action:auto;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.palette-hex{color:#222;-webkit-user-select:none;user-select:none;cursor:pointer;font-family:Courier New,monospace;font-size:.65rem;font-weight:700}.palette-hex.copied{color:#4caf50}.mini-idea{background:var(--note-bg);align-items:flex-start;gap:6px;padding:8px 10px;display:flex}.mini-idea-icon{flex-shrink:0;margin-top:1px;font-size:.85rem}.mini-idea-text{color:var(--text);word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.mini-link{flex-direction:column;gap:2px;padding:8px 10px;display:flex}.mini-link-title{color:var(--text);font-size:.85rem;font-weight:600}.mini-link-url{color:#2563eb;font-size:.72rem;text-decoration:underline}.mini-palette{flex-wrap:wrap;gap:4px;padding:8px 10px;display:flex}.mini-swatch{border-radius:10px;box-shadow:0 1px 3px #0003}.mini-palette .palette-hex{font-size:.78rem}.mini-todo{flex-direction:column;gap:2px;padding:6px 10px;display:flex}.mini-todo-item{align-items:center;gap:5px;font-size:.78rem;display:flex}.mini-todo-check{flex-shrink:0}.mini-todo-text{color:var(--text)}.mini-todo-text.done{color:var(--muted);text-decoration:line-through}.mini-unknown{color:var(--muted);padding:8px 10px;font-size:.78rem}.debug-panel{color:#e2e2e6;z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121218f2;border:1px solid #ffffff1a;border-radius:10px;width:260px;font-family:Courier New,monospace;font-size:.72rem;position:fixed;bottom:80px;right:12px;overflow:hidden;box-shadow:0 4px 24px #0006}.debug-header{background:#ffffff0a;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.debug-title{letter-spacing:.06em;text-transform:uppercase;color:#a0a0b0;font-size:.68rem;font-weight:700}.debug-refresh{color:#e2e2e6;cursor:pointer;background:#ffffff14;border:none;border-radius:4px;padding:2px 7px;font-family:inherit;font-size:.85rem}.debug-refresh:disabled{opacity:.4}.debug-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:5px 12px;display:flex}.debug-row span:first-child{color:#8080a0}.debug-divider{background:#ffffff14;height:1px;margin:2px 0}.debug-ok{color:#4caf82;font-weight:700}.debug-bad{color:#e8315a;font-weight:700}.debug-warn{color:#f7c948;font-weight:700}.debug-time{color:#555570;text-align:right;padding:5px 12px 7px;font-size:.65rem}.long-pressing{opacity:.85;transition:opacity .1s}.lifted{z-index:500;transition:transform .15s,box-shadow .15s;transform:scale(1.04);box-shadow:0 12px 32px #0003}.bottom-nav.obj-toolbar{justify-content:space-between;align-items:center;gap:0;padding:0 4px;display:flex;overflow:visible}.obj-toolbar-main{align-items:center;display:flex}.obj-toolbar-pinned{flex:none;align-items:center;display:flex}.obj-more-wrap{display:flex;position:relative}.obj-more-pop{background:var(--surface);border:1px solid var(--border);z-index:600;border-radius:14px;flex-direction:column;gap:2px;min-width:190px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 12px 32px #0003}.obj-more-item{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:.95rem;display:flex}.obj-more-item:hover{background:var(--border-light)}.obj-more-item:active{background:var(--border)}.obj-more-item .ft-icon{text-align:center;width:20px;font-size:1.1rem}.obj-more-label{line-height:1}.obj-more-div{background:var(--border);height:1px;margin:4px 6px}.obj-panel{border-bottom:1px solid var(--border-light);padding:8px 12px}.ft-btn{cursor:pointer;min-width:44px;color:var(--text);background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;transition:background .1s;display:flex}.ft-btn:hover{background:var(--border-light)}.ft-btn:active{background:var(--border)}.ft-btn:disabled{opacity:.35;cursor:not-allowed}.ft-btn--danger,.ft-btn--active{color:var(--accent)}.ft-icon{font-size:1.1rem;line-height:1}.ft-label{color:#3d3d3d;white-space:nowrap;font-size:.6rem;line-height:1}.ft-btn--danger .ft-label{color:var(--accent)}.ft-sep{background:var(--border);flex-shrink:0;width:1px;height:28px;margin:0 4px}.ft-panel{background:var(--surface);border:1px solid var(--border);pointer-events:all;border-radius:14px;max-width:calc(100vw - 24px);margin-bottom:6px;padding:10px 12px;box-shadow:0 4px 20px #0000001f}.obj-panel-colors{flex-wrap:wrap;gap:6px;display:flex}.obj-panel-swatch{cursor:pointer;border:none;border-radius:8px;width:32px;height:32px}.obj-panel-swatch--none{color:var(--muted);justify-content:center;align-items:center;font-size:1rem;display:flex;background:var(--canvas-bg)!important}.obj-panel-row{align-items:center;gap:8px;display:flex}.obj-panel-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;outline:none;flex:1;padding:8px 10px;font-size:.9rem}.obj-panel-input:focus{border-color:var(--accent)}.obj-panel-done{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 14px;font-size:.85rem}.image-caption{color:#222;white-space:nowrap;text-overflow:ellipsis;text-align:left;box-sizing:border-box;background:#fff;height:32px;padding:7px 10px;font-size:.8rem;font-weight:400;line-height:1;overflow:hidden}.preview-overlay{z-index:1000;background:#000000e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-close{color:#fff;cursor:pointer;z-index:10;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex;position:absolute;top:16px;right:16px}.preview-img-wrap{flex-direction:column;align-items:center;max-width:92vw;max-height:86vh;display:flex}.preview-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:80vh;display:block}.preview-caption{color:#ffffffbf;text-align:center;max-width:80vw;margin-top:10px;font-size:.85rem}.gallery-counter{color:#fff9;font-size:.85rem;position:absolute;top:18px;left:50%;transform:translate(-50%)}.gallery-arrow{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.6rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow--left{left:16px}.gallery-arrow--right{right:16px}.gallery-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:80vh;display:block}.gallery-empty{color:#fff9;font-size:1rem}.idea-mic-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:2px 4px;font-size:1rem}.idea-mic-btn.listening{color:var(--accent)}.draggable-card.selected .el-card[data-locked=true]{outline-color:var(--muted)}.storage-meter{align-items:center;gap:6px;display:flex}.storage-meter-track{background:#e6e6e6;border-radius:4px;width:90px;height:7px;overflow:hidden}.storage-meter-fill{border-radius:4px;height:100%;transition:width .3s,background .3s}.storage-meter-label{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.7rem}.top-bar-right{align-items:center;gap:10px;display:flex}.draggable-card.multi-checked{z-index:25}.draggable-card.multi-checked>:first-child{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.multi-check{background:var(--accent);color:#fff;z-index:40;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;line-height:1;display:flex;position:absolute;top:-9px;left:-9px;box-shadow:0 1px 3px #0000004d}.bottom-nav.select-nav{justify-content:space-between;padding:0 14px}.select-count{color:var(--text);font-size:.9rem;font-weight:600}.nav-btn--select,.nav-btn--select .nav-label{color:var(--accent)}.nav-btn--select .nav-icon{font-size:1.15rem;line-height:1}.nav-btn:disabled{opacity:.35;cursor:default}.board-icon-card--child{border:none;border-radius:6px 16px 16px;justify-content:center;align-items:center;width:180px;min-height:138px;margin-top:16px;padding:20px 16px;position:relative;overflow:visible;box-shadow:0 3px 10px #00000029}.board-icon-card--child:before{content:"";background:inherit;border-radius:9px 12px 0 0;width:76px;height:18px;position:absolute;top:-14px;left:0}.board-icon-card--child .board-icon-name{z-index:1;color:inherit;white-space:normal;text-align:center;max-width:150px;font-size:1.2rem;font-weight:600;line-height:1.25;position:relative}.board-icon-card--child.drop-target{outline:3px solid var(--accent);outline-offset:3px;transform:scale(1.05);box-shadow:0 4px 16px #00000038}.bottom-nav.create-nav{flex-wrap:nowrap;justify-content:space-between;gap:4px}.create-tools{scrollbar-width:none;-ms-overflow-style:none;flex:auto;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.create-tools::-webkit-scrollbar{display:none}.nav-btn--select{border-left:1px solid var(--border-light);flex:none;padding-left:12px}.bottom-nav.create-nav{gap:4px}.create-tools{justify-content:flex-start;gap:6px}.create-tools .nav-btn{min-width:0;padding:4px 9px}.create-tools .nav-label{font-size:.66rem}.create-tools .nav-icon-img{width:19px;height:19px}.create-tools .add-board-btn.center-btn{padding:5px 13px;font-size:.74rem}.create-tools .add-board-btn.center-btn .nav-icon-img{width:19px;height:19px}.create-pinned{border-left:1px solid var(--border-light);flex:none;align-items:center;gap:2px;margin-left:2px;padding-left:8px;display:flex}.create-pinned .nav-label{font-size:.66rem}.create-pinned .nav-icon-img{width:19px;height:19px}.update-toast{color:#fff;z-index:2000;background:#2a2a2a;border-radius:24px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:9px 10px 9px 16px;font-size:.85rem;display:flex;position:fixed;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000052}.update-toast-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:16px;padding:6px 14px;font-family:inherit;font-size:.8rem;font-weight:600}.update-toast-x{color:#bbb;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.15rem;line-height:1}.idea-mic-icon{object-fit:contain;width:16px;height:16px;display:block}.ft-icon-img{object-fit:contain;width:18px;height:18px;display:block}.menu-icon-img{object-fit:contain;flex:none;width:20px;height:20px}.btn-icon-img{object-fit:contain;width:20px;height:20px;display:block}.auth-logo-img{object-fit:contain;width:72px;height:72px;margin:0 auto;display:block}.home-avatar-btn{cursor:pointer;background:var(--accent);color:#fff;letter-spacing:.02em;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:flex}.home-avatar-btn:hover{filter:brightness(1.05)}.settings-screen{z-index:700;background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:fixed;inset:0}.settings-topbar{border-bottom:1px solid var(--border-light);padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));justify-content:center;align-items:center;display:flex;position:relative}.settings-title{color:var(--text);font-size:1.05rem;font-weight:700}.settings-done{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.95rem;font-weight:600;position:absolute;top:50%;right:16px;transform:translateY(-30%)}.settings-back{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:1.8rem;line-height:1;position:absolute;top:50%;left:12px;transform:translateY(-35%)}.settings-scroll{flex:1;padding:20px 16px 40px;overflow-y:auto}.settings-profile{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.settings-name{color:var(--text);font-size:1.4rem;font-weight:700}.settings-email{color:var(--muted);margin-top:2px}.settings-version{color:var(--muted);margin-top:10px;font-size:.8rem}.settings-avatar{background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.3rem;font-weight:700;display:flex}.settings-list{border:1px solid var(--border);background:var(--canvas-bg);border-radius:12px;margin-bottom:16px;overflow:hidden}.settings-row{border:none;border-bottom:1px solid var(--border-light);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;padding:15px 16px;font-family:inherit;font-size:.98rem;text-decoration:none;display:flex}.settings-list .settings-row:last-child{border-bottom:none}.settings-row:hover{background:var(--border-light)}.settings-row-icon{object-fit:contain;flex:none;width:20px;height:20px}.settings-row span:not(.settings-chevron):not(.settings-help-q){flex:1}.settings-chevron{color:var(--muted);font-size:1.2rem}.settings-row--accent{color:var(--accent);font-weight:600}.settings-plan{margin-top:8px;padding:4px}.settings-plan-title{color:var(--text);margin-bottom:10px;font-weight:700}.settings-plan .storage-meter-track{border-radius:4px;height:8px}.settings-plan-usage{color:var(--muted);margin-top:8px;font-size:.85rem}.settings-msg{background:var(--border-light);color:var(--text);border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:.9rem}.settings-field{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:16px 4px;display:flex}.settings-field-label{color:var(--text);min-width:84px;font-weight:700}.settings-field-value{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.settings-field-edit{flex:1;align-items:center;gap:8px;display:flex}.settings-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;flex:1;padding:8px 10px;font-family:inherit}.settings-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.95rem;font-weight:600}.settings-link:disabled{opacity:.5}.settings-danger{margin-top:28px}.settings-danger-title{color:var(--text);margin-bottom:10px;font-weight:700}.settings-delete{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:4px 0;font-family:inherit;font-size:.98rem;font-weight:600;display:flex}.settings-danger-confirm p{color:var(--muted);margin-bottom:12px;font-size:.9rem;line-height:1.45}.settings-danger-actions{gap:8px;display:flex}.btn-danger{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-family:inherit;font-weight:600}.btn-danger:disabled{opacity:.5}.settings-help-q{background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;font-weight:700;display:flex}.settings-help-note{color:var(--muted);margin:-8px 4px 20px;font-size:.82rem}.settings-help-heading{color:var(--text);margin:4px 4px 10px;font-weight:700}.settings-help-item{border-bottom:1px solid var(--border-light)}.settings-help-item:last-child,.settings-help-item .settings-row{border-bottom:none}.settings-help-answer{color:var(--muted);margin:0;padding:0 16px 14px;font-size:.9rem;line-height:1.5}.settings-policy h3{color:var(--text);margin:22px 0 6px;font-size:.98rem;font-weight:700}.settings-policy p{color:var(--muted);margin-bottom:8px;font-size:.92rem;line-height:1.6}.settings-policy strong{color:var(--text)}.settings-policy-updated{margin-bottom:18px}.settings-policy-footer{border-top:1px solid var(--border-light);margin-top:32px;padding-top:18px;font-size:.82rem}.el-palette-row.editing .palette-swatch-sq{outline:2px dashed var(--accent);outline-offset:2px;cursor:pointer}.palette-edit-hint{text-align:center;color:var(--accent);margin-top:6px;font-size:.72rem;font-weight:600}.doc-preview-overlay{z-index:800;background:var(--surface);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:fixed;inset:0}.doc-preview-bar{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.doc-preview-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.doc-preview-close{color:var(--accent);cursor:pointer;background:0 0;border:none;flex:none;font-size:.95rem;font-weight:600}.doc-preview-frame{background:#525659;border:none;flex:1;width:100%}.doc-preview-error{color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 32px;display:flex}.doc-preview-msg{color:var(--text);font-weight:600}.doc-preview-sub{color:var(--muted);font-size:.88rem;line-height:1.5}.bottom-nav.create-nav{justify-content:space-between}.create-add-wrap{align-items:center;display:flex;position:relative}.create-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:22px;align-items:center;gap:6px;padding:9px 18px;font-family:inherit;font-size:.95rem;font-weight:600;display:flex}.create-add-btn:active{transform:scale(.97)}.create-add-plus{margin-top:-1px;font-size:1.3rem;line-height:1}.create-add-backdrop{z-index:590;position:fixed;inset:0}.create-add-pop{background:var(--surface);border:1px solid var(--border);z-index:600;border-radius:16px;flex-direction:column;gap:2px;min-width:210px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 12px);left:0;box-shadow:0 12px 32px #0003}.create-add-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:14px;padding:13px 14px;font-family:inherit;font-size:1.02rem;display:flex}.create-add-item:hover{background:var(--border-light)}.create-add-item:active{background:var(--border)}.create-add-icon{object-fit:contain;flex:none;width:24px;height:24px}
