:root{font-family:'Be Vietnam Pro',sans-serif;color:#242432;background:#f7f7f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#242432;--muted:#92929f;--purple:#7462e9;--purple-soft:#eeeafd;--line:#ededed;--sidebar:#fff;--paper:#fafaf8}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b8aaff;outline-offset:2px}a{color:inherit;text-decoration:none}svg{display:block;flex-shrink:0}#app{height:100dvh;min-height:470px}.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:254px;min-width:254px;background:var(--sidebar);border-right:1px solid #eeeef0;display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:12px;padding:30px 24px 29px}.brand-icon{width:36px;height:36px;background:var(--purple);border-radius:12px;display:grid;place-items:center;color:#fff;box-shadow:0 6px 14px #7765ef25}.brand-text{font-family:"Be Vietnam Pro",sans-serif;font-size:17px;font-weight:800;letter-spacing:-.95px}.brand-text span{color:var(--purple)}.workspace-select{height:43px;margin:0 16px 26px;padding:0 13px;display:flex;align-items:center;gap:10px;border:1px solid #eeedf3;border-radius:11px;background:#f9f9fb;cursor:pointer}.workspace-avatar{height:23px;width:23px;display:grid;place-items:center;background:#e7dffd;border-radius:7px;color:#7656d9;font-size:11px;font-weight:800}.workspace-select strong{font-size:12px;font-weight:700;flex:1}.tiny{font-size:10px;color:#ababba}.section-label{display:flex;justify-content:space-between;align-items:center;margin:13px 27px 11px;font-size:10px;color:#a5a5b2;font-weight:800;letter-spacing:1.55px;text-transform:uppercase}.section-label button{color:#9c9caa;background:none;border:0;padding:3px}.nav-list{padding:0 13px}.nav-item{height:40px;display:flex;align-items:center;gap:12px;padding:0 13px;border:none;background:transparent;width:100%;text-align:left;color:#777785;font-size:12.5px;font-weight:600;white-space:nowrap;border-radius:10px;transition:background .2s,color .2s}.nav-item:hover{background:#f7f6fc;color:#4a3bc1}.nav-item.active{background:#eeebff;color:#6353cb}.nav-item svg{opacity:.75}.nav-item .count{margin-left:auto;color:#a9a8ba;font-size:11px}.nav-item.active .count{color:#7b70cf}.board-dot{height:9px;width:9px;border-radius:3px;flex-shrink:0}.sidebar-spacer{flex:1;min-height:8px}.sidebar-footer{padding:16px 18px 21px;border-top:1px solid #f0eff2}.storage-card{padding:14px;border-radius:12px;background:#f9f8fc}.storage-card .storage-top{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700}.storage-top span:last-child{margin-left:auto;color:#9796a5;font-size:10px}.meter{height:4px;border-radius:8px;background:#e9e6f2;margin:13px 0 8px;overflow:hidden}.meter span{display:block;width:22%;height:100%;border-radius:8px;background:#9687e8}.storage-detail{color:#ababba;font-size:10px;line-height:1.6}.profile{display:flex;gap:9px;align-items:center;margin-top:18px;padding:0 6px}.profile-pic{width:34px;height:34px;border-radius:50%;background:#22263b;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.profile-name{display:flex;flex-direction:column;gap:3px;flex:1}.profile-name strong{font-size:11px}.profile-name small{font-size:10px;color:#a5a5b0}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.topbar{height:73px;min-height:73px;background:#fff;border-bottom:1px solid #efeff0;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:20px;z-index:20}.crumbs{display:flex;align-items:center;gap:12px;color:#b0adba;font-size:12px;min-width:0}.crumbs strong{color:#31313e;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumbs .slash{color:#d5d5d9}.top-actions{display:flex;align-items:center;gap:9px}.search-btn{display:flex;align-items:center;gap:10px;border:1px solid #ededf0;background:#fafafc;border-radius:11px;height:38px;width:264px;padding:0 12px;color:#a4a3ae;font-size:11px;text-align:left}.search-btn span{flex:1}.kbd{font-size:10px;color:#a09faa;background:#fff;border:1px solid #e9e7ec;padding:4px 5px;border-radius:5px}.icon-btn{width:38px;height:38px;border:1px solid #efedf1;display:grid;place-items:center;border-radius:11px;background:white;color:#777589;transition:.2s}.icon-btn:hover,.circle-btn:hover{border-color:#cfc9f9;color:#6b57dc;background:#f9f8ff}.primary-btn{height:39px;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;color:white;background:var(--purple);font-size:12px;font-weight:700;box-shadow:0 5px 10px #7562eb18}.primary-btn:hover{background:#6554d7}.page{display:flex;flex-direction:column;min-height:0;flex:1;position:relative}.page-intro{padding:34px 37px 0;display:flex;gap:20px;align-items:flex-end;justify-content:space-between}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.2px;color:#8170e4;text-transform:uppercase;display:flex;align-items:center;gap:8px}.eyebrow-dot{width:7px;height:7px;background:#a594fa;border-radius:50%}.page-intro h1{font-family:"Be Vietnam Pro",sans-serif;font-weight:800;letter-spacing:-1.6px;font-size:31px;line-height:1.25;margin:11px 0 7px}.page-intro p{font-size:12.5px;color:#9a9aa6;margin:0;line-height:1.7}.intro-side{display:flex;gap:8px;align-items:center;padding-bottom:2px}.avatar-stack{display:flex;padding-left:9px}.avatar-stack span{width:27px;height:27px;margin-left:-9px;border-radius:50%;border:3px solid #f7f7f5;display:grid;place-items:center;background:#d6d1ef;color:#6852be;font-size:9px;font-weight:800}.avatar-stack span:nth-child(2){background:#cbded9;color:#367666}.avatar-stack span:nth-child(3){background:#f1daca;color:#aa7d50}.intro-side small{font-size:11px;color:#a3a2ac}.toolbar{height:71px;min-height:71px;display:flex;align-items:center;gap:18px;padding:0 37px;justify-content:space-between}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px;min-width:0}.tab{padding:8px 11px;border:0;background:transparent;color:#9494a0;font-size:11.5px;font-weight:700;display:flex;gap:8px;align-items:center;white-space:nowrap;border-radius:9px}.tab.selected{color:#554bc1;background:#eeecfc}.tab .small-count{color:#aca9db;font-weight:700}.separator{width:1px;height:21px;background:#e5e5ea;margin:0 7px}.ghost-btn{border:1px solid #eae9ed;background:#fff;border-radius:9px;padding:0 12px;height:33px;display:flex;align-items:center;gap:8px;color:#747383;font-size:11px;font-weight:700;white-space:nowrap}.ghost-btn.selected{border-color:#bdb3fb;color:#6757cf;background:#f4f1ff}.main-surface{position:relative;flex:1;min-height:0;margin:0 18px 18px;border:1px solid #ededf0;border-radius:16px;background:var(--paper);overflow:hidden}.main-surface.drop-active{outline:3px solid #a899ff;outline-offset:-5px}.canvas{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background-image:radial-gradient(#dcdce4 1px,transparent 1px);background-size:21px 21px;background-position:9px 9px}.canvas.dragging{cursor:grabbing}.canvas-items{position:absolute;left:0;top:0;transform-origin:0 0;will-change:auto}.note-card{position:absolute;width:252px;cursor:grab;user-select:none;touch-action:none;box-shadow:0 10px 30px #24243d09,0 2px 8px #24243d06;border-radius:15px;background:#fff;border:1px solid #e8e7ec;overflow:hidden;transition:box-shadow .2s,border-color .2s}.note-card:hover{border-color:#cec8fb;box-shadow:0 16px 35px #2723421a}.note-card.selected-card{border-color:#8c7bf2;box-shadow:0 0 0 3px #aaa0fa32,0 16px 35px #2723421a}.card-inner{padding:16px}.card-top{display:flex;align-items:center;gap:8px}.type-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;flex-shrink:0}.type-icon.link{color:#6b66cd;background:#f0edff}.type-icon.prompt{color:#9e68d5;background:#f5eafa}.type-icon.text{color:#c78c36;background:#fff5df}.type-icon.image{color:#338b94;background:#e6f6f4}.type-icon.video{color:#d46c76;background:#ffecee}.card-source{font-size:10px;font-weight:700;color:#9e9da8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.card-more{display:grid;place-items:center;color:#aaa8b4;border:0;background:transparent;padding:3px;cursor:pointer}.note-card h3{font-family:"Be Vietnam Pro",sans-serif;font-size:13.5px;line-height:1.55;letter-spacing:-.28px;margin:13px 0 8px;font-weight:800;color:#292939}.note-card p{font-size:11px;line-height:1.7;margin:0 0 12px;color:#898995;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-top:8px}.card-tags{display:flex;gap:5px;min-width:0;flex-wrap:wrap}.tag{background:#f4f3f6;color:#9995a5;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:700;white-space:nowrap}.tag.purple{background:#f1edff;color:#8067d7}.tag.blue{background:#e8f3fb;color:#568cc0}.tag.green{background:#e8f6ee;color:#53a076}.card-date{color:#b3b1bd;font-size:9px;white-space:nowrap}.card-media{height:145px;overflow:hidden;background:#eceaf3;position:relative}.card-media img{width:100%;height:100%;object-fit:cover;display:block}.card-media .media-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#e0dbff,#faeaff);color:#7965d5}.media-fallback svg{width:40px;height:40px}.card-media .media-label{position:absolute;top:11px;left:11px;padding:6px 8px;font-size:9px;font-weight:700;color:white;background:#28263caa;border-radius:6px;backdrop-filter:blur(5px)}.prompt-block{margin:13px 0 0;padding:13px 12px;background:#f7f6fc;border-radius:9px;border-left:2px solid #af9bfa;font-size:11px;line-height:1.75;color:#767083;max-height:95px;overflow:hidden;white-space:pre-line}.card-quote{font-size:18px;font-family:Georgia,serif;color:#716b9d;line-height:1.4;margin:17px 0 7px}.group-label{position:absolute;font-family:"Be Vietnam Pro",sans-serif;font-size:12px;font-weight:800;color:#8c8996;display:flex;gap:8px;align-items:center;white-space:nowrap}.group-label:before{content:'';width:7px;height:7px;border-radius:50%;background:#a899fb}.canvas-tools{position:absolute;left:21px;bottom:22px;z-index:5;display:flex;align-items:center;gap:6px;padding:6px;border:1px solid #e9e9ee;background:#fff;border-radius:11px;box-shadow:0 6px 16px #2521370b}.tool-btn{width:33px;height:33px;background:transparent;border:0;border-radius:8px;display:grid;place-items:center;color:#858394}.tool-btn:hover,.tool-btn.on{background:#f1edff;color:#725bdc}.tool-divider{height:20px;width:1px;background:#eaeaf0;margin:0 2px}.zoom-controls{position:absolute;right:20px;bottom:22px;background:white;border:1px solid #e9e9ee;border-radius:10px;box-shadow:0 6px 16px #2521370b;padding:5px;display:flex;align-items:center;gap:2px;z-index:5}.zoom-label{font-size:10px;min-width:40px;text-align:center;color:#888694;font-weight:700}.canvas-hint{position:absolute;top:22px;left:24px;display:flex;align-items:center;gap:7px;color:#aca9b9;font-size:10px;pointer-events:none}.canvas-hint kbd{border:1px solid #e6e4ec;padding:4px 5px;border-radius:5px;font-size:9px;background:#fff}.empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;max-width:340px;pointer-events:none}.empty-illustration{width:112px;height:112px;border-radius:29px;background:linear-gradient(155deg,#eee8ff,#faf3ff);display:grid;place-items:center;color:#8673e6;box-shadow:0 12px 30px #998ce830}.empty-state h3{font-family:"Be Vietnam Pro";font-size:19px;letter-spacing:-.7px;margin:22px 0 7px}.empty-state p{color:#9d9ba8;font-size:12px;line-height:1.8}.empty-state button{pointer-events:auto}.list-view{height:100%;overflow:auto;padding:25px 24px;background:#fafaf9}.list-head{display:grid;grid-template-columns:1fr 140px 140px 90px;padding:13px 16px;font-size:10px;font-weight:800;letter-spacing:1px;color:#aaa9b6;text-transform:uppercase}.list-row{width:100%;border:1px solid #edecef;background:white;border-radius:11px;display:grid;grid-template-columns:1fr 140px 140px 90px;align-items:center;gap:0;padding:12px 16px;text-align:left;margin-bottom:8px;color:#777686;font-size:11px;min-height:65px}.list-row:hover{border-color:#bcb1fd}.list-title{display:flex;align-items:center;gap:12px;min-width:0}.list-title h4{margin:0 0 4px;font-size:12px;color:#32313f;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list-title small{color:#aaa9b4;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:330px}.no-items{text-align:center;padding:75px 20px;color:#a29eae;font-size:13px}.floating-add{position:absolute;right:22px;top:20px;border:0;background:white;border-radius:11px;padding:10px 15px;box-shadow:0 5px 20px #2421390c;color:#888296;font-weight:700;font-size:11px;z-index:4}.floating-add:hover{color:var(--purple)}.overlay{position:fixed;inset:0;background:#1f1d3290;z-index:150;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px);animation:fadeIn .15s ease}.dialog{background:#fff;border:1px solid #f0eef5;border-radius:22px;width:min(520px,100%);box-shadow:0 22px 80px #1d183b33;overflow:hidden;animation:popIn .2s cubic-bezier(.2,.9,.2,1)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:27px 29px 0}.dialog-head h2{font-family:"Be Vietnam Pro";font-size:20px;letter-spacing:-.7px;margin:0}.close-btn{border:0;background:#f5f4f7;color:#898695;border-radius:9px;width:31px;height:31px;display:grid;place-items:center}.dialog-sub{font-size:12px;color:#9a98a7;line-height:1.7;margin:8px 29px 24px}.capture-area{margin:0 29px;padding:17px;display:flex;flex-direction:column;gap:8px;border-radius:13px;border:1.5px dashed #cbc4ef;background:#faf9ff;min-height:160px}.capture-area textarea{resize:none;border:0;outline:0;background:transparent;min-height:99px;font-size:13px;color:#303040;line-height:1.7;width:100%}.capture-area textarea::placeholder{color:#aca7ba}.capture-drop-tip{color:#a09bb0;font-size:11px;display:flex;align-items:center;gap:8px}.capture-options{display:flex;gap:8px;margin:16px 29px 20px;flex-wrap:wrap}.capture-option{display:flex;align-items:center;gap:7px;border:1px solid #eceaf2;border-radius:8px;background:#fff;color:#7e798c;height:34px;padding:0 11px;font-size:11px;font-weight:700}.capture-option:hover{background:#f7f4ff;color:#6752d9}.dialog-foot{border-top:1px solid #f1eff5;padding:18px 29px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px}.auto-badge{color:#6f61bf;font-size:10px;font-weight:700;display:flex;align-items:center;gap:6px}.capture-advanced{display:flex;margin:0 29px 19px;gap:12px;align-items:center}.capture-advanced label{font-size:11px;color:#a29eaf;font-weight:700}.field,.select-field{border:1px solid #e9e7ee;border-radius:10px;background:#fff;padding:11px 13px;color:#363341;width:100%;outline:none;font-size:12px}.select-field{max-width:180px}.field:focus,.select-field:focus{border-color:#aaa0f1}.modal-field{margin:0 29px 18px}.modal-label{display:block;margin:0 29px 8px;font-size:11px;font-weight:800;color:#777385}.side-overlay{position:fixed;inset:0;background:#1d1b2d45;z-index:90;animation:fadeIn .15s}.inspector{position:fixed;top:0;right:0;bottom:0;width:410px;max-width:100%;z-index:100;overflow-y:auto;background:#fff;box-shadow:-12px 0 50px #16122518;padding:30px;animation:slideIn .2s ease}.inspect-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.inspect-kicker{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#9993a8}.inspect-title{font-family:"Be Vietnam Pro";font-size:24px;line-height:1.35;letter-spacing:-.8px;font-weight:800;margin:13px 0 20px}.inspect-preview{width:100%;height:200px;object-fit:cover;border-radius:13px;background:#f6f4fa}.inspect-label{display:block;font-size:11px;font-weight:800;color:#9390a1;margin:22px 0 9px}.inspect-input{font-size:13px;width:100%;border:1px solid #eae8ef;border-radius:9px;padding:11px 12px;outline:none;color:#32323e}.inspect-textarea{min-height:125px;resize:none;line-height:1.7}.inspect-info{font-size:12px;color:#7f7c8d;line-height:1.7}.inspect-buttons{display:flex;gap:8px;flex-wrap:wrap;padding:25px 0}.inspect-buttons button{padding:9px 11px;border:1px solid #eeeaf3;background:#fff;border-radius:9px;font-size:11px;font-weight:700;color:#716a81;display:flex;align-items:center;gap:7px}.inspect-buttons button:hover{background:#f4f2ff;color:#6f5dd9}.inspect-divider{height:1px;background:#f1eff4;margin:7px 0}.url-open{color:#7160da;overflow-wrap:anywhere;font-size:11px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:250;background:#242137;color:#fff;border-radius:11px;padding:11px 15px;box-shadow:0 12px 28px #16102e33;font-size:12px;font-weight:600;display:flex;align-items:center;gap:9px;animation:popIn .2s ease;max-width:calc(100% - 20px)}.toast button{color:#d1c4ff;background:transparent;border:0;font-weight:700}.context-menu{position:fixed;z-index:130;background:#fff;border:1px solid #ededf1;padding:6px;border-radius:12px;box-shadow:0 10px 30px #15102620;width:187px}.context-menu button{border:0;background:white;text-align:left;width:100%;height:35px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:7px;font-size:11px;color:#777183}.context-menu button:hover{background:#f5f2ff;color:#6e5bd9}.search-modal{align-self:flex-start;margin-top:min(15vh,120px);width:min(600px,100%)}.search-input-wrap{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eeeaf1;padding:19px 24px}.search-input-wrap input{border:0;outline:0;flex:1;font-size:15px;color:#373343;min-width:0}.search-results{padding:9px;max-height:420px;overflow:auto}.search-result{border:0;background:transparent;padding:11px 13px;width:100%;display:flex;gap:12px;align-items:center;text-align:left;border-radius:9px}.search-result:hover{background:#f7f4ff}.search-result strong{display:block;font-size:12px;color:#393544}.search-result small{display:block;font-size:10px;margin-top:3px;color:#aba7b2}.search-shortcuts{padding:12px 22px;border-top:1px solid #f0eef4;color:#aaa6b0;font-size:10px;display:flex;gap:14px}.settings-grid{padding:0 29px 25px;display:grid;gap:12px}.settings-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0eef4;padding:9px 0 16px;gap:15px}.settings-row strong{font-size:12px;color:#353241}.settings-row small{display:block;font-size:10px;color:#a7a3b0;margin-top:4px}.settings-row button{border:1px solid #eae8f1;background:#fff;padding:9px 11px;border-radius:9px;font-size:11px;color:#7462df;font-weight:700}.settings-note{font-size:11px;line-height:1.8;color:#9995a4}.notice{font-size:10px;color:#7d6bcb;background:#f4f1ff;padding:8px 11px;border-radius:8px;margin:0 29px 17px}.mobile-bottom,.mobile-menu{display:none}.shared-pill{display:inline-flex;align-items:center;gap:7px;background:#eeeafb;color:#7e6bcb;padding:6px 9px;border-radius:7px;font-size:10px}.drag-file-overlay{position:absolute;inset:0;background:#f3eeffe8;display:grid;place-items:center;z-index:40;pointer-events:none;color:#6e59d7;font-family:"Be Vietnam Pro";font-weight:800;font-size:23px;border:3px dashed #987ded;border-radius:15px}.btn-danger{color:#dc6473!important}.keyboard-tooltip{color:#b5b1bc;font-size:10px}.loader{width:12px;height:12px;border:2px solid #ded9fc;border-top-color:#795be8;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes popIn{from{opacity:0;transform:translateY(9px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{from{transform:translateX(25px);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(max-width:1180px){.sidebar{width:222px;min-width:222px}.topbar{padding:0 22px}.page-intro{padding:30px 27px 0}.toolbar{padding:0 27px}.search-btn{width:200px}.intro-side{display:none}}
@media(max-width:850px){.sidebar{position:absolute;left:0;top:0;bottom:0;transform:translateX(-110%);transition:transform .22s ease;z-index:100;box-shadow:10px 0 30px #1d16311a}.sidebar.mobile-open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;background:#2220334c;z-index:90}.mobile-menu{display:grid}.topbar{height:62px;min-height:62px;padding:0 15px}.search-btn{width:38px;justify-content:center;padding:0}.search-btn span,.search-btn .kbd{display:none}.top-actions{gap:6px}.top-actions .primary-btn{padding:0 12px}.page-intro{padding:25px 20px 0}.page-intro h1{font-size:26px}.toolbar{padding:0 17px;height:68px;min-height:68px;gap:8px}.toolbar-right .ghost-btn:nth-child(1){display:none}.main-surface{margin:0 10px 10px}.list-head,.list-row{grid-template-columns:1fr 85px}.list-head>:nth-child(2),.list-head>:nth-child(3),.list-row>:nth-child(2),.list-row>:nth-child(3){display:none}.mobile-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;height:67px;background:#fff;border-top:1px solid #eee;z-index:15;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom button{background:transparent;border:0;color:#aaa6b3;display:flex;align-items:center;flex-direction:column;gap:4px;font-size:9px;font-weight:700;min-width:60px}.mobile-bottom button.active{color:var(--purple)}.mobile-bottom .mobile-add{display:grid;place-items:center;background:var(--purple);width:47px;height:47px;min-width:47px;border-radius:15px;color:white;margin-top:-20px;box-shadow:0 6px 15px #7660dd4d}.main-surface{margin-bottom:67px}.zoom-controls{right:10px;bottom:14px}.canvas-tools{left:10px;bottom:14px}.page-intro p{font-size:11px}.inspector{width:min(410px,100%);padding:24px}.topbar .icon-btn:not(.mobile-menu){display:none}}
@media(max-width:520px){.page-intro h1{font-size:24px}.page-intro{padding-top:22px}.topbar .crumbs{font-size:11px;gap:7px}.top-actions .primary-btn{font-size:0;gap:0;width:38px;padding:0}.top-actions .primary-btn svg{width:17px;height:17px}.toolbar{overflow:auto hidden;scrollbar-width:none;justify-content:flex-start}.toolbar-right{margin-left:auto}.toolbar .separator{display:none}.canvas-hint{top:13px;left:14px}.card-inner{padding:14px}.dialog-head{padding:23px 20px 0}.dialog-sub{margin:8px 20px 18px}.capture-area{margin:0 20px}.capture-options,.capture-advanced{margin-left:20px;margin-right:20px}.dialog-foot{padding:17px 20px 22px}.canvas-tools .tool-btn:nth-last-child(1){display:none}.list-view{padding:15px 9px}.list-row{padding:12px 9px}}

.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ebe8f0 transparent;padding-bottom:20px}.sidebar-scroll .section-label:first-child{margin-top:0}.sidebar-footer{flex-shrink:0}

/* Note Everywhere v0.2 — precise canvas controls and link previews */
.canvas{cursor:crosshair;touch-action:none}
.canvas.dragging,.canvas.dragging .note-card{cursor:grabbing!important}
.canvas .note-card{cursor:pointer}
.canvas .note-card:active{cursor:grabbing}
.marquee-box{position:absolute;z-index:8;pointer-events:none;border:1.5px solid #7462e9;background:rgba(121,102,232,.12);box-shadow:0 0 0 1px #d7cdfc77 inset;border-radius:4px;will-change:width,height,left,top}
.marquee-box[hidden],.selection-bar[hidden]{display:none!important}
.selection-bar{position:absolute;z-index:18;right:22px;top:18px;display:flex;gap:8px;align-items:center;background:#ffffffed;border:1px solid #e3defb;box-shadow:0 12px 30px #33305b15;padding:8px;border-radius:13px;backdrop-filter:blur(14px)}
.selection-bar strong{font-size:11px;padding:0 10px;color:#6b59cf;white-space:nowrap}
.selection-bar button{border:1px solid #eae7f4;border-radius:8px;background:#fff;display:flex;gap:5px;align-items:center;padding:7px 9px;color:#5f5b71;font-weight:700;font-size:10px}
.selection-bar button:hover{background:#f0edff;color:#5949c9}
.social-media-fallback{background:radial-gradient(circle at 80% 0%,#d6dcfe 0%,transparent 47%),linear-gradient(135deg,#f2f3fd,#eae9f7);display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;color:#65659b}
.social-media-fallback .social-mark{border-radius:17px;background:#fff;box-shadow:0 7px 24px #6761a324;width:55px;height:55px;display:grid;place-items:center;color:#7d68d9;font-weight:900;font-size:25px;letter-spacing:-1px}
.social-media-fallback>span{font-weight:800;font-size:12px}
.social-media-fallback small{font-size:9px;color:#8986a5;font-weight:600}
.card-media .media-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#191526b8;color:#fff;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;box-shadow:0 2px 15px #0005}
.card-media.broken-image img{display:none!important}
.card-media.broken-image{background:linear-gradient(145deg,#ededf9,#dfe0f4)}
.card-media.broken-image:before{content:'Preview image blocked by source';position:absolute;left:15px;right:15px;top:45%;font-size:11px;color:#767399;text-align:center}
.preview-caution{font-size:10px;line-height:1.5;color:#b08057;margin:9px 0;padding:7px 8px;background:#fff8ee;border-radius:7px}
.list-row.selected-card{border-color:#8c7bf2;background:#f5f3ff;box-shadow:0 0 0 2px #aaa0fa32}
.inspect-video{width:100%;height:215px;border:0;background:#181820;object-fit:contain;display:block}
.shortcut-dialog{max-width:580px}
.shortcut-list{padding:0 28px 24px;max-height:60vh;overflow:auto;display:grid;gap:0}
.shortcut-list>div{padding:10px 0;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #efedf5;align-items:center;font-size:12px;color:#5f5e71}
.shortcut-list strong{font-size:11px;color:#745fd0;background:#f3f0ff;border:1px solid #e8e0fc;border-radius:7px;padding:5px 8px;text-align:right}
@media(max-width:680px){.canvas-hint{display:none}.selection-bar{left:8px;right:8px;top:9px;justify-content:center}.selection-bar strong{padding:0 3px}.selection-bar button{padding:6px}}
.inspect-label{display:flex;align-items:center;justify-content:space-between}
.inspect-auto-sort{border:1px solid #dcd5ff;background:#f3f0ff;color:#7760df;border-radius:7px;font-size:10px;font-weight:750;padding:5px 8px;display:inline-flex;gap:5px;align-items:center;text-transform:none;letter-spacing:0}
.inspect-auto-sort:hover{background:#e9e3ff}

/* v0.3 — canvas-first layout, readable note scale, contextual actions */
.topbar{height:57px;min-height:57px;padding:0 24px}
.topbar .search-btn{height:35px}
.topbar .primary-btn{height:36px}
.toolbar{height:59px;min-height:59px;padding:0 24px;gap:16px;background:#f7f7f5}
.toolbar-left{flex-wrap:nowrap;min-width:0}
.board-heading{display:flex;align-items:center;gap:10px;flex-shrink:0;padding-right:5px}
.board-heading strong{font-family:"Be Vietnam Pro",sans-serif;font-size:18px;line-height:1.2;font-weight:800;letter-spacing:-.6px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#242437}
.board-heading small{font-size:10px;color:#aaa6b6;white-space:nowrap;font-weight:650}
.toolbar-divider{height:22px;width:1px;background:#e1dee8;margin:0 3px}
.toolbar .tab{padding:7px 9px}
.main-surface{margin:0 10px 10px;border-radius:14px}
.note-card{width:276px;border-radius:13px}
.note-card h3{font-size:14px;line-height:1.5}
.note-card p{font-size:12px}
.card-media{height:164px}
.card-inner{padding:17px}
.unfurl-placeholder{background:linear-gradient(125deg,#f1f0fe,#f6f7fc 58%,#fbfaff);padding:15px 13px;display:flex;gap:10px;align-items:center;border-bottom:1px solid #eae7f6}
.unfurl-placeholder .unfurl-logo{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;background:#fff;color:#806beb}
.unfurl-placeholder>span:nth-child(2){min-width:0;flex:1}
.unfurl-placeholder strong{font-size:10px;color:#51466f;display:block;line-height:1.3}
.unfurl-placeholder small{font-size:9px;color:#9992a7;display:block;line-height:1.45;margin-top:3px}
.unfurl-placeholder button{flex-shrink:0;display:flex;align-items:center;gap:3px;border:1px solid #ded6fc;border-radius:7px;background:#fff;color:#6854d6;padding:8px;font-weight:750;font-size:9px}
.whiteboard-menu{width:255px;border-radius:13px;padding:7px;box-shadow:0 16px 48px #2922402e;animation:popIn .13s ease;max-height:calc(100dvh - 16px);overflow-y:auto;scrollbar-width:thin}
.whiteboard-menu .context-title{padding:8px 11px;color:#a6a0b5;font-size:10px;letter-spacing:1.25px;font-weight:800}
.whiteboard-menu button{height:36px;padding:0 10px;color:#554f63;font-size:12px;gap:10px}
.whiteboard-menu button span{flex:1;text-align:left}
.whiteboard-menu button svg{color:#8b7dc4}
.whiteboard-menu button kbd{color:#b1aabc;font-size:10px;font-family:inherit;white-space:nowrap}
.whiteboard-menu button:disabled{opacity:.35}
.context-divider{height:1px;margin:6px 5px;background:#eeebf3}
.preview-upload{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.preview-upload button{padding:9px 11px;border:1px solid #ded8f6;background:#f6f4ff;border-radius:10px;color:#6653ca;font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px}
.preview-upload button+button{background:#fff;border-color:#eceaf1;color:#8a8496}
.preview-tip{font-size:10px;color:#a19aaf;margin:9px 0 6px;line-height:1.5}
.fb-help{background:#f8f6fe;border:1px solid #eee8ff;border-radius:11px;padding:11px 12px;margin-bottom:12px;display:flex;gap:10px;align-items:flex-start;color:#7564bf}
.fb-help>div{display:flex;flex-direction:column;gap:4px}
.fb-help strong{font-size:11px;color:#6759a0}
.fb-help span{font-size:10px;line-height:1.55;color:#817a94}
@media(max-width:1180px){.toolbar{padding:0 18px}.board-heading strong{max-width:175px;font-size:16px}.toolbar .tab{font-size:10px}}
@media(max-width:950px){.toolbar-left .tab:nth-last-child(-n+2){display:none}.board-heading small{display:none}}
@media(max-width:850px){.topbar{height:56px;min-height:56px}.toolbar{height:56px;min-height:56px;padding:0 12px}.main-surface{margin:0 8px 67px}.board-heading strong{max-width:170px}}
@media(max-width:520px){.board-heading strong{font-size:14px;max-width:125px}.toolbar-left .tab:not(.selected){display:none}.toolbar{gap:4px}.whiteboard-menu{max-width:calc(100vw - 16px)}.topbar{padding:0 12px}}

.capture-caution{font-size:10px;line-height:1.45;color:#ad6b34;background:#fff7eb;border-radius:6px;padding:6px 8px;margin:7px 0!important;}

/* v0.7 / Canvas as an image-first, directly manipulable creative surface */
.note-card.image-tile{padding:0;background:#f5f5f8;border:1px solid #e7e6eb;overflow:hidden;border-radius:11px;box-shadow:0 5px 24px #17152513;min-width:120px;min-height:90px}
.image-tile .image-stage{height:100%;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f4f4f8}
.image-tile .image-stage>img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;pointer-events:none;image-rendering:auto}
.image-tile .image-empty{color:#aea5d4;display:grid;place-items:center}
.image-tile.selected-card{border-color:#765cf0;box-shadow:0 0 0 2px #765cf0,0 8px 30px #28204429}
.note-card .resize-handle{display:none;position:absolute;width:13px;height:13px;border:2px solid #795ee8;border-radius:4px;background:white;z-index:5;box-shadow:0 1px 5px #221b4f30;touch-action:none}
.note-card.selected-card .resize-handle{display:block}
.resize-handle.nw{left:2px;top:2px;cursor:nwse-resize}
.resize-handle.ne{right:2px;top:2px;cursor:nesw-resize}
.resize-handle.sw{left:2px;bottom:2px;cursor:nesw-resize}
.resize-handle.se{right:2px;bottom:2px;cursor:nwse-resize}
.note-card.fixed-note{display:flex;flex-direction:column;overflow:hidden}
.note-card.fixed-note .card-inner{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.note-card.fixed-note .card-inner>p,.note-card.fixed-note .card-inner>.prompt-block{overflow:auto;min-height:0}
.note-card.fixed-note .card-inner .card-footer{margin-top:auto}
.note-card.fixed-note .card-media{flex:0 1 auto;max-height:60%;min-height:48px}
.note-card.fixed-note .card-media img{width:100%;height:100%;object-fit:cover}
.image-tile::selection,.image-tile img::selection{background:none}
/* v0.8 — spatial capture workflow, Unsorted staging dock, playable YouTube cards */
.board-workspace{flex:1;min-height:0;min-width:0;display:flex;gap:0;padding:0 10px 10px;position:relative}
.board-workspace>.main-surface{margin:0;min-width:0;flex:1;border-radius:15px 0 0 15px}
.board-workspace>.main-surface:last-child{border-radius:15px}
.unsorted-tray{width:318px;min-width:268px;max-width:36%;display:flex;flex-direction:column;min-height:0;background:#f5f5f5;border:1px solid #e6e5e9;border-left:0;border-radius:0 15px 15px 0;box-shadow:-8px 0 20px #22202d06;z-index:4}
.tray-header{padding:19px 17px 15px;border-bottom:1px solid #e7e7eb;background:#f9f9f9;display:flex;align-items:center;gap:8px;justify-content:space-between}
.tray-header strong{font-size:14px;letter-spacing:-.2px;color:#34333a;display:block}
.tray-header span{display:block;font-size:10px;color:#9d9ca5;margin-top:5px}
.tray-header .icon-btn{width:28px;height:28px;flex-shrink:0}
.tray-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px 18px;display:flex;gap:11px;flex-direction:column;scrollbar-color:#dedce6 transparent;scrollbar-width:thin}
.tray-item{border:1px solid #e9e9ee;background:#fff;border-radius:11px;box-shadow:0 4px 14px #2221370c;cursor:grab;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}
.tray-item:hover{border-color:#aa9cf2;box-shadow:0 6px 18px #56508318}
.tray-item:active{cursor:grabbing}
.tray-item.tray-dragging{opacity:.45;transform:scale(.97)}
.tray-media{aspect-ratio:16/9;overflow:hidden;position:relative;background:#101016;display:flex;align-items:center;justify-content:center}
.tray-media img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.tray-media:has(img){background:#eeeef1}
.tray-media.tray-empty{font-size:31px;color:#a1a1ae;background:linear-gradient(140deg,#ece8fa,#e7e9ef)}
.tray-item:has(.tray-image-tools) .tray-media{aspect-ratio:auto;min-height:105px;max-height:240px}
.tray-item:has(.tray-image-tools) .tray-media img{width:100%;height:auto;max-height:240px;object-fit:contain}
.tray-image-tools{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;color:#8c8999;font-size:10px;font-weight:700}
.tray-image-tools span{display:flex;align-items:center;gap:5px}
.tray-image-tools>div{display:flex;align-items:center;gap:6px}
.tray-image-tools button,.tray-actions button{border:0;background:transparent;color:#79758a;padding:6px;border-radius:7px}
.tray-image-tools button:hover,.tray-actions button:hover{background:#f3f0ff;color:#6a54d9}
.tray-info{padding:12px 13px 11px}
.tray-source{font-size:9px;font-weight:750;letter-spacing:.6px;color:#9794a2}
.tray-title{font-weight:750;font-size:12px;line-height:1.48;color:#333141;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:5px;overflow-wrap:anywhere}
.tray-description{font-size:10px;color:#9996a3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:7px 0 0;line-height:1.5}
.tray-actions{display:flex;align-items:center;justify-content:space-between;margin-top:9px;border-top:1px solid #f4f3f7;padding-top:7px}
.tray-actions button:first-child{display:flex;align-items:center;gap:4px;color:#7462d6;font-weight:700;font-size:10px}
.tray-empty-state{height:230px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#aea9c2}
.tray-empty-state strong{font-size:13px;color:#625b7f}
.tray-empty-state span{font-size:11px;line-height:1.7;color:#9996a7;max-width:210px}
.tray-foot{border-top:1px solid #e9e8ef;padding:12px 14px;color:#9895a3;font-size:10px;display:flex;align-items:center;gap:8px}
.toolbar .tray-toggle{white-space:nowrap;gap:6px}
.tray-count{display:inline-grid;place-items:center;min-width:19px;height:18px;background:#e9e3fa;color:#715bc6;border-radius:6px;padding:0 4px;font-size:10px}
.note-card.video-tile{background:#fff;overflow:hidden;border-radius:11px;border:1px solid #dfdfe5;min-height:0;display:flex;flex-direction:column}
.video-cover{width:100%;aspect-ratio:16/9;position:relative;background:#17171c;display:flex;justify-content:center;align-items:center;overflow:hidden}
.video-cover>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.video-cover-fallback{background:linear-gradient(140deg,#171321,#33233a);width:100%;height:100%}
.video-play-btn{border:none;width:48px;height:35px;border-radius:12px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#17151edb;color:#fff;box-shadow:0 5px 20px #0004;display:flex;align-items:center;justify-content:center;z-index:4;cursor:pointer;transition:background .15s,transform .15s}
.video-play-btn:hover{background:#e82222;transform:translate(-50%,-50%) scale(1.06)}
.video-inline-player{border:0;position:absolute;inset:0;width:100%;height:100%;z-index:2;background:#111}
.video-meta{padding:10px 12px 12px;min-height:69px;background:#fff}
.video-brand{display:flex;align-items:center;gap:6px;color:#9996a1;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.youtube-badge{display:inline-grid;place-items:center;width:20px;height:15px;background:#f71c20;color:#fff;font-size:8px;border-radius:5px}
.video-more{margin-left:auto;background:transparent;border:0;color:#aaa7b2;cursor:pointer}
.video-title{margin-top:6px;color:#292733;font-size:12px;font-weight:750;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.note-card.video-tile .resize-handle{z-index:7}
.canvas.drop-active::after{content:'Drop to place on this board';position:absolute;left:50%;top:18px;transform:translateX(-50%);background:#7662e9;color:#fff;font-size:12px;font-weight:700;padding:9px 15px;border-radius:10px;box-shadow:0 8px 22px #453aa033;z-index:9;pointer-events:none}
@media(max-width:1170px){.unsorted-tray{width:275px;min-width:230px}.toolbar .tray-toggle{font-size:11px}}
@media(max-width:850px){.board-workspace{padding:0 8px 67px}.unsorted-tray{position:absolute;right:8px;top:0;bottom:67px;max-width:min(355px,80%);width:min(315px,80%);min-width:0;border:1px solid #e6e5e9;border-radius:13px;box-shadow:-11px 0 30px #2221371b}.board-workspace>.main-surface{border-radius:14px}.toolbar .tray-toggle{padding:7px 9px}}
@media(max-width:520px){.toolbar .tray-toggle{font-size:0;gap:5px}.toolbar .tray-toggle svg,.toolbar .tray-count{font-size:10px}.unsorted-tray{max-width:calc(100% - 35px);width:305px}}

/* v0.9 — frameless image tiles: pixels reach the edges, no resize knobs. */
.note-card.image-tile{
 padding:0!important;margin:0!important;background:transparent!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 overflow:visible!important;min-width:0!important;min-height:0!important;
 outline:0!important;
}
.image-tile .image-stage{
 display:block!important;overflow:hidden!important;width:100%;height:100%;
 padding:0!important;margin:0!important;background:transparent!important;
}
.image-tile .image-stage>img{
 display:block!important;width:100%!important;height:100%!important;max-width:none!important;
 object-fit:fill!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
}
.note-card.image-tile.selected-card{
 background:transparent!important;border:0!important;box-shadow:none!important;
 outline:1px solid rgba(113,91,226,.72)!important;outline-offset:0!important;
}
.note-card .resize-handle,.note-card.selected-card .resize-handle{display:none!important}
/* v1.0 — generous corner hotspots, a restrained resize affordance. */
.note-card.selected-card::after, .note-card:hover::after{
 content:"";position:absolute;right:3px;bottom:3px;width:14px;height:14px;
 border-right:2.5px solid #8673f1;border-bottom:2.5px solid #8673f1;
 border-bottom-right-radius:2px;opacity:.87;pointer-events:none;
 filter:drop-shadow(0 1px 1px #ffffffb0);z-index:9;
}
.note-card.image-tile.selected-card::after, .note-card.image-tile:hover::after{right:4px;bottom:4px}
/* Unsorted: multiselect with an explicit marquee mode + direct Ctrl/Shift selection. */
.tray-multibar{display:flex;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid #e9e7ed;min-height:43px}
.tray-select-toggle{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2def1;background:#fff;border-radius:8px;padding:6px 9px;color:#766b8d;font-size:11px;font-weight:700;cursor:pointer}
.tray-select-toggle.active{background:#ece8ff;border-color:#9581fb;color:#6443d7}
#tray-selected-count{font-size:10px;color:#a09ba9;white-space:nowrap;margin-right:auto}
#tray-place-selected{display:inline-flex;align-items:center;gap:4px;border:0;color:#fff;background:#715de8;border-radius:8px;padding:7px 8px;font-weight:700;font-size:10px;cursor:pointer;white-space:nowrap}
#tray-place-selected[hidden]{display:none}
.tray-item.tray-selected{outline:2px solid #7962f4;outline-offset:1px;border-color:#7962f4;box-shadow:0 0 0 3px #7962f420,0 7px 20px #43397c20}
.tray-item.tray-selected .tray-media{position:relative}
.tray-item.tray-selected .tray-media::after{content:"✓";position:absolute;top:7px;right:8px;width:20px;height:20px;border-radius:50%;background:#715de8;color:white;display:grid;place-items:center;font-size:12px;font-weight:800;pointer-events:none}
.tray-marquee{position:fixed;z-index:220;pointer-events:none;border:1px solid #7664f1;background:#7965e633;border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff8a}
.tray-scroll{user-select:none}
.note-card:not(.selected-card):hover::after{content:"";position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-right:2px solid #9d93d3;border-bottom:2px solid #9d93d3;border-bottom-right-radius:2px;opacity:.45;pointer-events:none;z-index:9}

/* v1.1 — focused workspace navigation, compact sidebar and board management */
.sidebar{position:relative;transition:width .18s ease,min-width .18s ease}
.brand{position:relative}
.sidebar-collapse{margin-left:auto;flex:none;width:27px;height:27px;border:1px solid #eeeaf7;border-radius:8px;background:#fff;color:#8a829a;display:grid;place-items:center;cursor:pointer}
.sidebar-collapse:hover{background:#eeeafb;color:#6753d9}
.workspace-select{width:calc(100% - 32px);text-align:left;flex:none;position:relative}
.workspace-select strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-menu{position:absolute;left:15px;top:144px;width:calc(100% - 30px);min-width:216px;max-height:min(420px,65vh);overflow:auto;border:1px solid #e8e4f2;background:#fff;border-radius:13px;padding:8px;box-shadow:0 17px 44px #31244d24;z-index:110}
.space-menu-caption,.arrange-popover-label{font-size:10px;font-weight:850;color:#a09bad;letter-spacing:1.2px;padding:7px 9px 8px}
.space-option{display:flex;align-items:center;gap:3px;border-radius:8px}
.space-option:hover{background:#f6f3ff}
.space-option-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:transparent;border:0;text-align:left;padding:8px;border-radius:8px;font-size:12px;font-weight:700;color:#504c5b}
.space-option-main span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-option-main.active{color:#705ae4}
.space-option .workspace-avatar{flex-shrink:0}
.space-remove{background:transparent;border:0;color:#a9a4b2;border-radius:7px;padding:7px;display:grid;place-items:center}
.space-remove:hover{background:#fff0f0;color:#d45464}
.space-create{border:0;background:#f3efff;color:#6750db;border-radius:9px;display:flex;gap:8px;align-items:center;justify-content:center;font-weight:800;font-size:12px;padding:10px;width:100%;margin-top:5px}
.board-nav-row{position:relative;display:flex;align-items:center}
.board-nav-row>.nav-item{padding-right:36px}
.board-nav-row .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.board-nav-row .count{flex:none}
.board-manage{position:absolute;right:10px;top:7px;width:27px;height:27px;border:0;background:#fff;display:grid;place-items:center;border-radius:7px;color:#8b859d;opacity:0;transition:opacity .15s}
.board-nav-row:hover .board-manage,.board-nav-row:focus-within .board-manage{opacity:1}
.board-manage:hover{background:#ece8ff;color:#6350cf}
.btn-danger-manage{display:flex;align-items:center;gap:7px;border:1px solid #f0cdd4;background:#fff7f8;color:#b84860;border-radius:9px;padding:10px 12px;font-weight:750;font-size:12px}
.manage-note{font-size:11px;color:#94919e;padding:0 24px 20px;margin:0;line-height:1.6}
.sidebar.compact{width:73px!important;min-width:73px!important}
.sidebar.compact .brand{padding:21px 8px 16px;display:flex;flex-direction:column;gap:9px}
.sidebar.compact .brand-text{display:none}
.sidebar.compact .brand-icon{width:38px;height:38px}
.sidebar.compact .sidebar-collapse{margin:0}
.sidebar.compact .workspace-select{width:44px;margin:5px auto 10px;padding:0;justify-content:center;height:44px}
.sidebar.compact .workspace-select strong,.sidebar.compact .workspace-select>svg{display:none}
.sidebar.compact .workspace-avatar{width:25px;height:25px}
.sidebar.compact .sidebar-scroll .section-label{margin:13px 10px 7px;justify-content:center;font-size:0;height:13px}
.sidebar.compact .sidebar-scroll .section-label span,.sidebar.compact .sidebar-scroll .section-label>svg{display:none}
.sidebar.compact .sidebar-scroll .section-label button{font-size:13px}
.sidebar.compact .nav-list{padding:0 9px}
.sidebar.compact .nav-item{height:45px;padding:0;justify-content:center;gap:0}
.sidebar.compact .nav-item>span:not(.board-dot),.sidebar.compact .nav-item .count{display:none}
.sidebar.compact .nav-item .board-dot{width:12px;height:12px}
.sidebar.compact .board-nav-row .nav-item{padding:0}
.sidebar.compact .board-nav-row .board-manage{right:-5px;top:10px;width:21px;height:25px;background:#fff;opacity:0}
.sidebar.compact .board-nav-row:hover .board-manage,.sidebar.compact .board-nav-row:focus-within .board-manage{opacity:1}
.sidebar.compact .sidebar-footer{padding:10px 12px 18px}
.sidebar.compact .storage-card,.sidebar.compact .profile-name,.sidebar.compact .profile>svg{display:none}
.sidebar.compact .profile{margin:4px auto;justify-content:center;padding:0}
.sidebar.compact .profile-pic{margin:auto}
.sidebar.compact .space-menu{left:64px;top:94px;width:245px}
.sidebar-collapsed .topbar{padding-left:20px}
@media(max-width:850px){.sidebar.compact{min-width:73px!important}}
/* Arrange menu stays close to the trigger and offers explicit layouts. */
.arrange-popover{position:fixed;z-index:1000;width:235px;background:#fff;border:1px solid #e9e5f2;border-radius:13px;padding:7px;box-shadow:0 16px 40px #2d234026}
.arrange-popover button{width:100%;display:flex;align-items:center;gap:11px;border:0;border-radius:8px;background:transparent;padding:10px 11px;text-align:left;font-size:12px;font-weight:720;color:#5e5b67}
.arrange-popover button:hover{background:#f0edff;color:#6e59da}
.arrange-popover button svg{color:#8c7ae4}
/* Note typography is tied to tile width, independent of whiteboard pan and zoom. */
.note-card:not(.image-tile) .card-inner{padding:calc(16px * var(--tile-font-scale,1));}
.note-card:not(.image-tile) h3{font-size:calc(13.5px * var(--tile-font-scale,1));line-height:1.5;margin:calc(12px * var(--tile-font-scale,1)) 0 calc(8px * var(--tile-font-scale,1));}
.note-card:not(.image-tile) .card-source{font-size:calc(10px * var(--tile-font-scale,1))}
.note-card:not(.image-tile) .card-top{gap:calc(8px * var(--tile-font-scale,1))}
.note-card:not(.image-tile) .type-icon{width:calc(26px * var(--tile-font-scale,1));height:calc(26px * var(--tile-font-scale,1))}
.note-card:not(.image-tile) .type-icon svg{width:58%;height:58%}
.note-card:not(.image-tile) p{font-size:calc(11px * var(--tile-font-scale,1));line-height:1.65;margin-bottom:calc(12px * var(--tile-font-scale,1));}
.note-card:not(.image-tile) .prompt-block{font-size:calc(11px * var(--tile-font-scale,1));padding:calc(12px * var(--tile-font-scale,1));max-height:none;line-height:1.65;margin-top:calc(13px * var(--tile-font-scale,1))}
.note-card:not(.image-tile) .tag{font-size:calc(9px * var(--tile-font-scale,1));padding:calc(5px * var(--tile-font-scale,1)) calc(7px * var(--tile-font-scale,1))}
.note-card:not(.image-tile) .card-date{font-size:calc(9px * var(--tile-font-scale,1))}
.note-card:not(.image-tile) .card-media{height:calc(145px * var(--tile-font-scale,1))}
.note-card.video-tile .video-cover{flex:1;aspect-ratio:auto;min-height:0;}
.note-card.video-tile .video-meta{flex:none;padding:calc(10px * var(--tile-font-scale,1)) calc(12px * var(--tile-font-scale,1));min-height:0}
.note-card.video-tile .video-brand{font-size:calc(9px * var(--tile-font-scale,1))}
.note-card.video-tile .youtube-badge{font-size:calc(8px * var(--tile-font-scale,1));width:calc(20px * var(--tile-font-scale,1));height:calc(15px * var(--tile-font-scale,1))}
.note-card.video-tile .video-title{font-size:calc(12px * var(--tile-font-scale,1));margin-top:calc(6px * var(--tile-font-scale,1))}
.note-card.image-tile.uniform-tile .image-stage img{object-fit:contain!important}
/* Unresized YouTube cards retain a natural 16:9 preview; resized cards allocate remaining height. */
.note-card.video-tile:not([style*="height:"]) .video-cover{aspect-ratio:16 / 9;flex:none}
/* v1.2 · Nested boards, long-form notes and live connections */
.board-tree-branch{min-width:0}
.board-tree-branch .board-nav-row{padding-left:calc(var(--tree-depth,0)*13px);position:relative}
.board-tree-branch .board-nav-row>.nav-item{min-width:0;flex:1;padding-left:8px}
.board-expander,.board-expander-spacer{width:17px;height:29px;flex:none;display:grid;place-items:center;border:0;background:transparent;color:#9893a6;padding:0}
.board-expander{cursor:pointer;border-radius:6px}
.board-expander:hover{color:#6655d5;background:#eeebfd}
.board-tree-children{margin-left:8px;border-left:1px solid #ebe8f4}
.sidebar.compact .board-expander,.sidebar.compact .board-expander-spacer{display:none}
.sidebar.compact .board-tree-children{border:none;margin-left:0}
.crumb-link{padding:4px 2px;min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9c98aa;background:transparent;border:0;font-size:12px;cursor:pointer}
.crumb-link:hover{color:#7664dc}.crumb-link.crumb-current{color:#29283d;font-weight:750}
.note-card.board-portal{border:1px solid transparent;background:transparent;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:11px 8px 22px;gap:8px;text-align:center;overflow:visible;user-select:none}
.note-card.board-portal:hover{background:#ffffffb0;border-color:#e9e7f3;box-shadow:0 8px 25px #5551780d}
.note-card.board-portal.selected-card{border:1px solid #aa9bff;background:#ffffffc8;outline:none;box-shadow:0 0 0 2px #b2a5ff55}
.board-portal .portal-icon{flex:none;width:min(87px,50%);aspect-ratio:1;display:grid;place-items:center;border-radius:18px;color:#fff;background:var(--portal-color,#9181df);box-shadow:inset 0 -6px 15px #00000009,0 8px 20px #7a6ab922}
.board-portal .portal-icon svg{width:41%;height:41%;stroke-width:1.8}
.board-portal .portal-title{max-width:100%;font-family:"Be Vietnam Pro",sans-serif;font-size:calc(14px * var(--tile-font-scale,1));font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#262436}
.board-portal .portal-meta{font-size:calc(10px * var(--tile-font-scale,1));color:#aaa4b5;line-height:1.35}
.text-document .card-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.text-document .note-longform{font-size:calc(12px * var(--tile-font-scale,1));line-height:1.66;color:#59576b;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-y:auto;min-height:0;max-height:none;flex:1;scrollbar-width:thin;scrollbar-color:#d8d2ec transparent;padding-right:3px;margin-top:8px}
.text-document .card-footer{flex-shrink:0;margin-top:auto;padding-top:10px}
.text-document.fixed-note .card-inner h3{flex:none}
.note-card.text-document:not(.fixed-note){min-height:215px;max-height:none}
.note-card.text-document:not(.fixed-note) .note-longform{max-height:600px}
/* Interaction targets appear only on hover/selection, without permanent UI clutter. */
.connection-handle{position:absolute;top:7px;right:7px;width:29px;height:29px;padding:0;display:grid;place-items:center;border:1px solid #dcd5ff;border-radius:50%;background:#fff;color:#7a68d6;z-index:75;cursor:crosshair;opacity:0;pointer-events:none;box-shadow:0 2px 10px #31265822;transition:opacity .1s ease,transform .1s ease}
.note-card:hover>.connection-handle,.note-card.selected-card>.connection-handle,.connection-handle:focus-visible{opacity:1;pointer-events:auto}
.connection-handle:hover{background:#7463ed;color:white;transform:scale(1.13)}
.note-card.video-tile .connection-handle,.note-card.image-tile .connection-handle{top:9px;right:9px}
.note-card.board-portal .connection-handle{right:5px;top:5px}
.connections-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.connection-line{fill:none;stroke:#8a81b8;stroke-width:2.2;stroke-linecap:round;opacity:.88;vector-effect:non-scaling-stroke;pointer-events:none}
.connection-line.active{stroke:#6c54ed;stroke-width:3.5}
.connection-hit{fill:none;stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:pointer}
.connection-preview{fill:none;stroke:#7664ef;stroke-width:2.5;stroke-dasharray:7 5;stroke-linecap:round;pointer-events:none;vector-effect:non-scaling-stroke}
.connection-preview[hidden]{display:none}
/* v1.3 — reliable connector gestures, semantic board appearances */
.canvas.connecting,.canvas.connecting .note-card{cursor:crosshair!important}
.canvas .note-card.connection-target{outline:3px solid #7764f0!important;outline-offset:4px;box-shadow:0 0 0 8px #a89aff25!important}
.connection-handle{touch-action:none;user-select:none;cursor:crosshair;min-width:30px;min-height:30px}
.canvas.connecting .connection-handle{pointer-events:none}
.connections-svg{z-index:2;pointer-events:none;will-change:auto}
.connection-hit{pointer-events:stroke}
.connection-preview{stroke:#7252f0;stroke-width:3.3;stroke-dasharray:8 5;opacity:1;filter:drop-shadow(0 1px 2px #7764f044)}
.board-nav-icon{width:20px;height:20px;min-width:20px;display:grid;place-items:center;border-radius:6px;color:white;flex-shrink:0}
.board-nav-icon svg{width:12px;height:12px;stroke-width:2}
.sidebar.compact .board-nav-icon{width:25px;height:25px;min-width:25px}
.board-appearance{margin:4px 29px 18px;max-height:365px;overflow:auto;scrollbar-width:thin}
.appearance-title{font-size:10px;letter-spacing:.7px;color:#817d93;font-weight:800}
.appearance-title small{display:block;font-size:10px;letter-spacing:0;color:#aaa5b6;font-weight:500;margin-top:4px}
.appearance-head{display:flex;align-items:center;gap:12px;margin:11px 0}
.appearance-head>span:last-child{display:flex;flex-direction:column;gap:3px}
.appearance-head strong{font-size:12px;color:#363047}.appearance-head small{font-size:10px;color:#9e99ad}
.appearance-preview{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;color:#fff;box-shadow:0 5px 15px #4c447f1e;flex:none}
.appearance-icon-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin:10px 0 13px}
.appearance-icon{aspect-ratio:1;border:1px solid #eeecf3;background:#f9f8fb;border-radius:8px;color:#77738c;display:grid;place-items:center;padding:2px}
.appearance-icon:hover{border-color:#b6a9f7;color:#7561de;background:#f4f0ff}
.appearance-icon.chosen{border:2px solid #7d6cf0;background:#f0edff;color:#6652d8}
.appearance-color-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin:0 0 8px}
.appearance-color{background:var(--swatch);width:100%;aspect-ratio:1;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #dfdce8;padding:0}
.appearance-color:hover{transform:scale(1.1)}.appearance-color.chosen{box-shadow:0 0 0 2px #6356d1,0 0 0 4px white}
.appearance-auto{border:0;background:transparent;color:#735ed6;font-size:11px;display:flex;align-items:center;gap:6px;padding:6px 0}
.appearance-auto:hover{text-decoration:underline}
@media(max-width:520px){.board-appearance{margin:3px 20px 16px}.appearance-icon-grid{grid-template-columns:repeat(7,1fr)}}

/* v1.4 · connector management and cable cut tool */
.connection-handle.has-links{box-shadow:0 3px 13px #6e5add2e}
.connection-count{position:absolute;right:-5px;top:-5px;min-width:15px;height:15px;padding:0 3px;border-radius:10px;background:#7463ed;color:#fff;font-size:9px;font-weight:750;display:grid;place-items:center}
.connection-popover{position:fixed;z-index:160;width:246px;padding:8px;background:white;border:1px solid #e9e5f3;border-radius:12px;box-shadow:0 14px 35px #241b4933}
.connection-popover-head{display:flex;align-items:center;gap:8px;color:#514b69;font-size:12px;font-weight:800;padding:8px 9px 11px;border-bottom:1px solid #f0edf6;margin-bottom:5px}
.connection-popover-head span{margin-left:auto;color:#8370db}
.connection-popover button{display:flex;align-items:center;gap:9px;width:100%;padding:10px 8px;text-align:left;color:#655d77;border:0;border-radius:8px;background:transparent;font-size:11px;cursor:pointer}
.connection-popover button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.connection-popover button:hover{background:#f4f1ff;color:#6a50e0}
.connection-popover .connection-remove-all{border-top:1px solid #f0edf6;margin-top:3px;padding-top:12px;color:#bc576e}
.cut-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:80;pointer-events:none;overflow:visible}
.cut-stroke{fill:none;stroke:#f26684;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:8 5;filter:drop-shadow(0 1px 2px #e14c6b44)}
.canvas.cut-tool-active,.canvas.cut-tool-active .note-card,.canvas.cut-tool-active .connection-hit{cursor:crosshair!important}
.canvas.cut-tool-active .connection-handle{pointer-events:none!important}
.connection-line.cut-pending{stroke:#f04465!important;stroke-width:4.3!important;opacity:1}
.canvas-tools .tool-btn.cut-active{background:#fff0f4;color:#cc4264;border-radius:8px}
.board-edit-dialog{width:min(450px,100%)}
.board-edit-dialog .dialog-sub{margin-bottom:16px}
.board-edit-dialog .board-appearance{max-height:none;overflow:visible;margin-top:4px;margin-bottom:12px}
.board-edit-dialog .appearance-head{margin:7px 0 8px}
.board-edit-dialog .appearance-preview{width:43px;height:43px;border-radius:11px}
.board-edit-dialog .appearance-title small{display:none}
.board-edit-dialog .appearance-icon-grid{margin:8px 0 12px;gap:5px}
.board-edit-dialog .appearance-icon{border-radius:7px}
.board-edit-dialog .dialog-foot{padding-top:15px;padding-bottom:17px}

/* v1.5: accessible nested-board location and image aspect safety */
.crumbs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;max-width:100%;white-space:nowrap}
.crumbs::-webkit-scrollbar{display:none}
.crumb-link{display:inline-flex;align-items:center;gap:6px;flex:none}
.crumb-current{font-weight:800;color:#5d4dd8!important}
.portal-path{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aaa3b9;font-size:9px;text-align:center;margin:4px auto 0}
.note-card.image-tile .image-stage>img{object-fit:contain!important}

/* v1.6: clean board portals, usable space dialog and interactive link tips */
.board-portal .portal-title{max-width:100%;text-overflow:ellipsis;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.space-create-dialog #space-name{display:block;width:calc(100% - 58px);max-width:calc(100% - 58px);min-width:0;margin:0 29px 20px}
@media(max-width:520px){.space-create-dialog #space-name{width:calc(100% - 40px);max-width:calc(100% - 40px);margin-left:20px;margin-right:20px}}
.connections-svg{z-index:75;pointer-events:none}
.connection-endpoint{fill:transparent;stroke:transparent;stroke-width:1;pointer-events:all;cursor:grab;touch-action:none}
.connection-endpoint:hover{fill:#806bf232;stroke:#8f7cf0;stroke-width:1.5}
.canvas.rewiring .connection-endpoint{cursor:grabbing}
.canvas.rewiring,.canvas.rewiring .note-card{cursor:crosshair!important}

/* iPhone / touch-first adjustments — retains same infinite canvas state as desktop. */
@media (pointer:coarse) and (max-width:850px) {
 .canvas-viewport, #canvas {touch-action:none;overscroll-behavior:contain;}
 .note-card {touch-action:none;}
 .mobile-bottom {height:calc(65px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom);}
 .mobile-bottom button {min-width:50px;min-height:48px;}
 .main-surface {margin-bottom:calc(65px + env(safe-area-inset-bottom));}
 .note-card .card-more,.note-card .connect-handle {min-width:38px;min-height:38px;}
 .inspector {max-height:100dvh;overflow-y:auto;padding-bottom:calc(26px + env(safe-area-inset-bottom));}
 .unsorted-tray {bottom:calc(65px + env(safe-area-inset-bottom));}
}

/* v2.3 MOBILE VIEWPORT REPAIR — layout must never be wider than the device. */
@media screen and (max-width:850px) {
 html, body {width:100%;max-width:100%;overflow:hidden;overscroll-behavior:none;}
 #app {width:100%;max-width:100%;height:100dvh;min-height:0;overflow:hidden;}
 .shell,.app-main,.page,.board-workspace,.main-surface,.canvas-viewport {min-width:0!important;max-width:100%!important;}
 .shell {width:100%!important;position:relative;}
 .sidebar {position:fixed!important;left:0;top:0;bottom:0;width:min(304px,85vw)!important;min-width:0!important;max-width:85vw!important;transform:translateX(-110%);z-index:120;}
 .sidebar.mobile-open {transform:translateX(0)!important;}
 .sidebar.compact{width:min(304px,85vw)!important;min-width:0!important;}
 .app-main{width:100%;flex:1 1 0;overflow:hidden;}
 .topbar{width:100%;gap:8px;padding:0 12px;flex-shrink:0;}
 .crumbs{flex:1;min-width:0;overflow:hidden;white-space:nowrap;gap:5px;}
 .crumbs .crumb-link:not(:last-child),.crumbs .slash{display:none;}
 .crumbs .mobile-menu{display:grid;flex-shrink:0;}
 .crumbs .crumb-link:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;}
 .top-actions{flex:none;gap:7px;}
 .top-actions .search-btn{width:38px;min-width:38px;}
 .top-actions .primary-btn{width:42px;height:42px;padding:0;font-size:0;}
 .top-actions .primary-btn svg{width:20px;height:20px;}
 .top-actions .icon-btn{display:none;}
 .toolbar{width:100%;max-width:100%;flex-shrink:0;overflow:hidden;gap:5px;padding:0 12px;}
 .toolbar-left{flex:1 1 auto;min-width:0;overflow:hidden;}
 .toolbar-right{flex:0 0 auto;min-width:0;gap:4px;}
 .board-heading{min-width:0;flex:0 1 auto;overflow:hidden;}
 .board-heading strong{max-width:38vw!important;overflow:hidden;text-overflow:ellipsis;}
 .toolbar-left .separator,.toolbar-left .tab,.toolbar-left .toolbar-divider{display:none!important;}
 .toolbar .ghost-btn{max-width:108px;overflow:hidden;text-overflow:ellipsis;padding:0 8px;}
 .toolbar .tray-toggle{max-width:47px;min-width:0;}
 .page{min-width:0!important;width:100%;overflow:hidden;}
 .board-workspace{width:100%;flex:1 1 0;padding:0 8px 0!important;overflow:hidden;}
 .board-workspace>.main-surface{min-width:0;width:100%;margin:0!important;flex:1 1 0;border-radius:13px!important;overflow:hidden;}
 .canvas{width:100%;max-width:100%;}
 .mobile-bottom{position:absolute;left:0;right:0;bottom:0;width:100%;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:35;}
 .mobile-bottom button{min-width:0!important;flex:1;gap:3px;white-space:nowrap;}
 .mobile-bottom .mobile-add{flex:0 0 49px;min-width:49px!important;}
 .main-surface,.board-workspace{padding-bottom:0;}
 .board-workspace{margin-bottom:calc(60px + env(safe-area-inset-bottom));}
 .unsorted-tray{position:absolute;z-index:30;top:0;right:8px;bottom:0;width:min(330px,calc(100% - 18px));max-width:calc(100% - 18px);}
 .canvas-empty,.empty-state{max-width:100%;min-width:0;}
 .selection-bar{max-width:calc(100% - 16px);overflow-x:auto;justify-content:flex-start;}
 .inspector{width:min(400px,100vw)!important;max-width:100vw!important;}
}
@media screen and (max-width:390px){.topbar{padding:0 9px}.top-actions .search-btn{width:34px;min-width:34px}.top-actions .primary-btn{width:38px}.toolbar{padding:0 8px}.board-heading strong{max-width:33vw!important}.mobile-bottom button{font-size:9px}}
/* Narrow touch screens: one board title and one action, not the desktop tab strip. */
@media screen and (max-width:600px){
 .toolbar-left{flex:1 1 auto;min-width:0;}
 .toolbar-right{flex:0 0 auto;}
 .toolbar-right > :not(:first-child){display:none!important;}
 .toolbar .board-heading{flex:1 1 auto;min-width:0;padding-right:0;}
 .toolbar .board-heading strong{max-width:calc(100vw - 168px)!important;font-size:16px;}
 .toolbar .board-heading small{display:none!important;}
 .toolbar{justify-content:space-between;}
 .canvas-hint{display:none!important;}
}

/* v2.7: accessible, always-visible account entry */
.account-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:35px;min-width:0;padding:0 11px;border:1px solid #ddd8f6;border-radius:10px;background:#f7f5ff;color:#6c53d8;font:700 11px Manrope,'Be Vietnam Pro',sans-serif;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s}
.account-entry:hover{background:#efeaff;border-color:#ac9af6}
.account-entry:focus-visible{outline:2px solid #795be8;outline-offset:2px}
.account-entry.is-connected{background:#fff;color:#494256;border-color:#e8e4ee}
.account-avatar{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#7864e3;color:white;font-size:11px}
.account-entry .account-caption{overflow:hidden;text-overflow:ellipsis;max-width:136px}
@media(max-width:850px){.topbar .account-entry{height:37px;max-width:118px;padding:0 9px;gap:5px}.account-register{display:none}.top-actions{min-width:0}.topbar .account-entry .account-caption{max-width:74px}}
@media(max-width:520px){.topbar .account-entry{width:auto;max-width:95px;padding:0 7px;font-size:10px}.account-entry .account-caption{max-width:58px!important}.account-entry.is-connected .account-caption{display:none}.topbar .account-entry.is-connected{width:35px;padding:0}}

/* Account: authenticated is visibly different even on a narrow phone. */
.account-entry.is-connected{position:relative;background:#f3efff;border-color:#d6cbff;color:#6041c6;}
.account-online-dot{width:7px;height:7px;border-radius:50%;background:#39a879;box-shadow:0 0 0 2px #f3efff;flex:none;}
.account-avatar{font-size:10px;font-weight:800;letter-spacing:-.3px;}
.settings-version{padding:13px 0 0;text-align:center;color:#aaa5b5;font:600 11px 'Be Vietnam Pro',sans-serif;letter-spacing:.03em;}
@media(max-width:520px){.topbar .account-entry.is-connected{width:39px;max-width:39px;padding:0;overflow:visible}.topbar .account-entry.is-connected .account-online-dot{position:absolute;right:-2px;bottom:0;}}

/* v3.3 Beta: one account identity and a working settings button in the sidebar footer. */
.sidebar-footer{position:relative;padding-right:14px;padding-left:14px}
.sidebar-footer .footer-account{display:flex;align-items:center;min-width:0;flex:1}
.sidebar-footer .footer-account .account-entry{display:flex;max-width:100%;width:100%;justify-content:flex-start;background:transparent;border:0;box-shadow:none;padding:6px 3px;min-height:42px;text-align:left}
.sidebar-footer .footer-account .account-caption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:126px}
.sidebar-footer .footer-settings{position:absolute;right:16px;bottom:22px;background:none;border:0;border-radius:8px;color:#9493a2;width:32px;height:32px;display:grid;place-items:center}
.sidebar-footer .footer-settings:hover{color:var(--purple);background:#f2efff}
.sidebar-footer .footer-account{margin-top:12px;padding-right:35px}
@media(max-width:650px){.sidebar-footer .footer-account .account-caption{display:inline;max-width:135px}.sidebar-footer .footer-account .account-entry{width:100%}}

.inline-text-editor{display:block;width:100%;min-height:110px;box-sizing:border-box;resize:none;border:1px solid #9481ef;border-radius:8px;padding:8px;font-family:inherit;font-size:calc(13px * var(--tile-font-scale, 1))!important;line-height:1.66;color:inherit;background:#fff;outline:none;user-select:text;touch-action:auto;white-space:pre-wrap}

.cloud-sync-indicator{font-size:10px;color:#7466a3;margin-top:4px;min-height:12px}.cloud-sync-indicator.sync-error{color:#b34d52}

/* v3.14: informative visual fallback. NOT a scraped thumbnail. */
.unfurl-cover{min-height:112px;background:radial-gradient(ellipse at 85% 70%,#d5d0fb,transparent 52%),linear-gradient(135deg,#eeeafd,#fbfafe 65%);display:flex;flex-direction:column;justify-content:center;padding:18px 20px;gap:6px;color:#403a66;border-bottom:1px solid #e7e4f3}
.unfurl-cover-domain{font:600 9px/1.3 inherit;letter-spacing:.1em;text-transform:uppercase;color:#8076a3}
.unfurl-cover strong{font-size:22px;line-height:1.1;letter-spacing:-.04em}
.unfurl-cover small{font-size:9px;color:#827a9b}

/* v3.16 Image-first visual-link cards: original ratio, image-dominant, tiny source line. */
.note-card.visual-link-tile{background:#fff;display:flex;flex-direction:column;min-height:0;border:1px solid #e9e8ec;border-radius:11px;overflow:hidden}
.note-card.visual-link-tile:not(.visual-fixed-height):not([style*="height:"]){height:auto!important}
.note-card.visual-link-tile .visual-link-stage{display:block;width:100%;flex:0 0 auto;background:#f4f3f2;line-height:0;overflow:hidden}
.note-card.visual-link-tile .visual-link-stage img{width:100%;height:auto;display:block;object-fit:contain}
.note-card.visual-link-tile.visual-fixed-height .visual-link-stage{flex:1;min-height:0}
.note-card.visual-link-tile.visual-fixed-height .visual-link-stage img{width:100%;height:100%;object-fit:contain}
.note-card.visual-link-tile .visual-link-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:30px;padding:5px 10px;background:#fff;font:500 10px/1.2 'Be Vietnam Pro',sans-serif;color:#a2a0a8;white-space:nowrap}
.note-card.visual-link-tile .visual-link-caption span{display:block;overflow:hidden;text-overflow:ellipsis;min-width:0}
.note-card.visual-link-tile .visual-link-caption strong{color:#88828e;font-weight:600}
.note-card.visual-link-tile .visual-link-caption .card-more{opacity:.55;padding:2px}
.note-card.visual-link-tile:hover .visual-link-caption .card-more{opacity:1}
.note-card.visual-link-tile .visual-link-stage.broken-image{min-height:100px;background:#f3f2f5;display:grid;place-items:center}
.note-card.visual-link-tile .visual-link-stage.broken-image:after{content:'Preview unavailable';font-size:10px;color:#aaa;line-height:1.5}
.note-card.visual-link-tile .visual-link-stage.broken-image img{display:none}

/* v3.17 tool palette, compact links, phone-first controls */
.ne-tool-dock{position:absolute;left:14px;top:48%;transform:translateY(-50%);z-index:14;display:flex;flex-direction:column;gap:3px;padding:7px;background:#ffffffef;border:1px solid #e7e6ee;border-radius:12px;box-shadow:0 8px 25px #22203313;max-height:68%;overflow-y:auto}
.ne-drag-tool{display:flex;align-items:center;gap:8px;min-width:96px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#656173;font:600 11px Manrope,sans-serif;cursor:grab;text-align:left}
.ne-drag-tool:hover,.ne-drag-tool:focus-visible{background:#f0edff;color:#7059d9}
.ne-drag-tool:active{cursor:grabbing}
.ne-compact-link{display:flex!important;align-items:center!important;gap:10px;min-height:56px;padding:11px 13px;border-radius:10px!important;overflow:hidden}
.ne-compact-link:not([style*="height:"]){height:80px}
.ne-compact-link.fixed-note{align-items:flex-start!important}
.ne-compact-link .ne-compact-icon{background:#f1eeff;color:#7a65e8;width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:8px}
.ne-compact-link .ne-compact-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ne-compact-link .ne-compact-content small{font-size:9px;color:#9994a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ne-compact-link .ne-compact-content strong{font-size:12px;color:#393448;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ne-mobile-tick{display:none}
@media(max-width:850px){
 .zoom-controls{display:none!important}
 .ne-tool-dock{display:none!important}
 .canvas-tools{bottom:12px!important;max-width:calc(100% - 20px)!important}
 .overlay{box-sizing:border-box;max-width:100vw!important;padding:10px!important;overflow-y:auto;align-items:center}
 .overlay .dialog{box-sizing:border-box;width:min(100%,430px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 30px);overflow-y:auto;margin:auto!important}
 .dialog-head{padding:16px 16px 0!important;gap:8px;display:flex;align-items:center}
 .dialog-head h2{font-size:21px!important;min-width:0}
 .dialog-sub{font-size:11px;margin:6px 16px 12px!important}
 .capture-area{margin:0 16px!important;min-height:0!important;height:auto!important;padding:0!important}
 .capture-area textarea{height:94px!important;min-height:94px!important;max-height:135px!important;box-sizing:border-box;width:100%!important;resize:none}
 .capture-drop-tip{display:none!important}
 .capture-options{margin:10px 16px!important;display:flex!important;flex-wrap:nowrap!important;gap:7px!important}
 .capture-option{min-width:0!important;flex:1!important;padding:9px 3px!important;font-size:0!important;justify-content:center!important}
 .capture-option svg{width:19px!important;height:19px!important;flex:none}
 .dialog-foot{padding:12px 16px 16px!important;gap:8px!important}
 .dialog-foot .auto-badge{display:none!important}
 .dialog-foot .primary-btn{width:100%;justify-content:center}
 .unsorted-tray{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important;right:4px!important;left:4px!important;box-sizing:border-box;overflow:hidden}
 .unsorted-tray .tray-multibar{padding:10px!important;gap:7px!important;flex-wrap:wrap}
 .tray-select-toggle{display:none!important}
 .tray-scroll{min-width:0;overflow-x:hidden}
 .tray-item{position:relative;box-sizing:border-box;max-width:100%;touch-action:pan-y}
 .ne-mobile-tick{display:grid;place-items:center;position:absolute;right:12px;top:12px;width:29px;height:29px;border-radius:50%;background:#ffffffed;color:#8b79df;z-index:3;border:1px solid #ded9f8;font-size:19px}
 .tray-selected .ne-mobile-tick{background:#7962e7;color:white}
 .tray-foot{display:none!important}
}

/* v3.18 interactive canvas widgets */
.ne-widget{background:#fff;border:1px solid #e7e6ee;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 22px #1915280d}
.ne-widget-head{height:45px;flex-shrink:0;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #efedf4;gap:8px}.ne-widget-head strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-widget button{cursor:pointer}.ne-widget-head button{border:0;background:transparent;color:#9692a5}
.ne-todo-list{flex:1;min-height:65px;overflow:auto;padding:9px 12px}.ne-task{display:flex;align-items:center;gap:9px;min-height:36px;font-size:13px}.ne-task>span{flex:1;overflow-wrap:anywhere}.ne-task .done{text-decoration:line-through;color:#a4a0af}.ne-task>button{border:0;background:transparent;color:#aba7b8;font-size:18px}.ne-widget-entry{display:flex;border-top:1px solid #edeaf2;padding:8px;gap:6px}.ne-widget-entry input{border:0;min-width:0;flex:1;font:inherit;font-size:13px;outline:none}.ne-widget-entry button{background:#7365eb;color:white;border:0;border-radius:7px;width:29px}
.ne-column-tip{font-size:11px;color:#908b9f;padding:10px 12px}.ne-column-items{flex:1;overflow:auto;padding:6px 9px 12px}.ne-column-member{display:flex;align-items:center;gap:5px;background:#f7f6fb;border:1px solid #eceaf4;padding:8px;border-radius:7px;margin-bottom:7px}.ne-column-member button:first-child{display:flex;align-items:center;gap:7px;min-width:0;flex:1;text-align:left;border:0;background:transparent;font-size:12px}.ne-column-member button:last-child{border:0;background:transparent;color:#aaa}.ne-column-empty{display:block;border:1px dashed #d7d3e7;border-radius:9px;text-align:center;padding:25px 8px;color:#aaa;font-size:12px}
.ne-map-frame{width:100%;border:0;flex:1;min-height:170px}.ne-map-empty{flex:1;display:grid;place-items:center;padding:20px;color:#999;text-align:center;font-size:12px}.ne-map-actions{display:flex;gap:12px;padding:10px;font-size:12px}.ne-map-actions button{border:0;background:transparent;color:#7869df}.ne-map-actions a{color:#7869df;margin-left:auto}
.ne-comment{padding:12px}.ne-comment-author{display:flex;gap:9px;align-items:center}.ne-comment-author>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px;font-size:12px}.ne-comment-author small{font-size:10px;color:#aaa}.ne-comment-author button{border:0;background:transparent;color:#999}.ne-avatar{width:31px;height:31px;border-radius:50%;background:#7764e8;color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px}.ne-comment-text{font-size:13px;line-height:1.45;white-space:pre-wrap;overflow:auto;flex:1;padding:14px 2px}.ne-comment-edit{align-self:flex-end;border:0;background:transparent;color:#7365e9;font-size:11px}

/* v3.19 usability upgrades */
.ne-task-text{display:block;flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:5px 0;color:inherit;font:inherit;overflow-wrap:anywhere;cursor:text!important}
.ne-task-text.done{text-decoration:line-through;color:#a4a0af}
.ne-todo .ne-todo-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.ne-column-member{align-items:flex-start;cursor:grab}
.ne-column-member-body{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;cursor:pointer}
.ne-column-member-body strong{font-size:12px;display:flex;gap:5px;align-items:center}
.ne-column-member-body p{white-space:pre-line;overflow-wrap:anywhere;font-size:11px;line-height:1.45;color:#696577;margin:0}
.ne-column-member-body img{max-width:100%;max-height:220px;object-fit:contain;align-self:center;border-radius:6px}
.ne-column-member-body small{color:#888;font-size:11px}
.ne-column-items{overscroll-behavior:contain}
.ne-map-empty{display:flex;flex-direction:column;justify-content:center;gap:9px}
.ne-map-empty input{width:100%;min-width:0;padding:9px;border:1px solid #dedbea;border-radius:7px}
.ne-map-empty button{border:0;border-radius:7px;padding:9px;background:#7666ea;color:#fff}
.ne-comment-input{width:100%;resize:none;flex:1;min-height:48px;padding:8px;border:1px solid #eceaf3;border-radius:8px;font:inherit;font-size:13px;outline-color:#7764e8}

/* v3.20 compact widgets and scroll fixes */
.ne-todo .ne-task-text,.ne-todo .ne-task-text.done{font-family:inherit!important;font-size:13px!important;line-height:1.35!important;font-weight:400!important;letter-spacing:normal!important;}
.ne-todo .ne-task>button[data-widget-remove-task]{font-size:15px!important;flex:0 0 20px}
.ne-todo .ne-task{min-height:36px}
.ne-column{min-height:0!important;}
.ne-column-items{min-height:0!important;max-height:100%;overflow-y:auto!important;overflow-x:hidden;flex:1 1 0!important;touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;margin-bottom:14px!important;padding-bottom:18px!important;}
.note-card.ne-column.selected-card::after{right:-4px!important;bottom:-4px!important;width:15px!important;height:15px!important;border-right:3px solid #7962f4!important;border-bottom:3px solid #7962f4!important;border-bottom-right-radius:3px!important;background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,0.18)!important;z-index:35!important;pointer-events:none;}
.ne-column-title-input{min-width:0;flex:1;font:600 14px inherit;border:1px solid #b4aafa;border-radius:5px;padding:4px;outline-color:#7565ec}
.ne-map-compact{min-height:68px!important;}
.ne-map-compact .ne-widget-head{display:none!important}
.ne-map-compact .ne-map-empty{padding:8px 10px;flex:1;min-height:0;}
.ne-map-compact .ne-map-empty input{font-size:12px;padding:9px 11px;}
.ne-map-compact .ne-map-actions{display:none!important}
.ne-map-expanded .ne-map-frame{min-height:165px}
.ne-comment-input{border:0!important;box-shadow:none!important;resize:none;}
.note-card.ne-audio{min-height:165px}
.note-card.ne-audio .ne-audio-player-wrap{padding:10px 0 6px}
.ne-audio-player{width:100%;height:38px;accent-color:#7463ed;border-radius:20px}
.note-card.ne-model-tile{min-height:320px}
.ne-model-stage{position:relative;width:100%;height:220px;border-radius:12px 12px 0 0;overflow:hidden;background:radial-gradient(ellipse at center,#fbfaff,#ede8fa)}
.ne-model-stage model-viewer{width:100%;height:100%;outline:none;cursor:grab}
.ne-model-stage model-viewer:active{cursor:grabbing}
.ne-3d-hint{position:absolute;bottom:8px;right:8px;background:rgba(255,255,255,0.88);backdrop-filter:blur(4px);padding:3px 8px;border-radius:10px;font-size:10px;font-weight:600;color:#5a517d;pointer-events:none}
.empty-note-placeholder{color:#9e9bb2!important;font-style:italic;cursor:text;user-select:none}
.ne-board-delete-item{color:#d93025!important;font-weight:600}
.ne-board-delete-item:hover{background:#fdf2f2!important;color:#b3261e!important}
/* v3.21 -- collaborative canvas uses the same rendering engine as private boards. */
.ne-live-shell{display:block!important;width:100%;min-width:0;min-height:100vh}
.ne-live-shell .app-main{width:100%;min-width:0;margin:0;max-width:none}
.ne-live-header{width:100%;min-width:0}
.ne-live-header .crumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ne-live-header .crumbs strong{overflow:hidden;text-overflow:ellipsis}
.ne-live-tag,.ne-live-role{display:inline-flex;align-items:center;background:#f1edff;color:#7462d7;border-radius:100px;padding:5px 9px;font-size:11px;white-space:nowrap}
.ne-live-page{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.ne-live-page .board-workspace{flex:1;min-height:0}
.ne-live-actions{display:flex;align-items:center;gap:12px;padding:13px 18px 10px;flex:0 0 auto}
.ne-live-actions strong{font-size:17px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ne-live-actions button{margin-left:auto}
.ne-live-name{font-size:12px;color:#6a647c;white-space:nowrap}
.ne-live-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#7761ec;color:#fff;font-weight:700}
.ne-live-share-fields{padding:0 29px 27px;display:flex;flex-direction:column;gap:12px;max-height:min(70vh,530px);overflow-y:auto}
.ne-live-share-fields label{font-size:11px;color:#7a7196;font-weight:800;letter-spacing:.04em}
.ne-live-share-fields hr{border:0;border-top:1px solid #eceaf5;width:100%}
.ne-live-share-fields .primary-btn{align-self:flex-start}
.ne-live-share-fields small{font-size:11px;line-height:1.55;color:#847d97}
.ne-live-board-row{padding:12px;border:1px solid #ece8f6;border-radius:10px;text-decoration:none;color:#493f66;font-weight:700;font-size:13px}
.ne-live-board-row:hover{background:#f6f2ff}
.ne-live-view-only .ne-tool-dock,.ne-live-view-only .canvas-tools,.ne-live-view-only .floating-add,
.ne-live-view-only .selection-bar,.ne-live-view-only .canvas-hint{display:none!important}
.ne-live-view-only .note-card,.ne-live-view-only .connection-handle{pointer-events:none!important}
.ne-live-view-only .canvas{cursor:grab}
.ne-live-view-only .canvas:active{cursor:grabbing}
@media(max-width:650px){.ne-live-header .ne-live-name,.ne-live-tag{display:none}.ne-live-header .top-actions{gap:6px}.ne-live-actions{padding:8px 12px}.ne-live-actions strong{font-size:14px}.ne-live-role{font-size:10px}}
.ne-live-view-only .note-card{pointer-events:auto!important}
.ne-live-view-only .note-card input,.ne-live-view-only .note-card textarea,.ne-live-view-only .ne-widget-entry,.ne-live-view-only .note-card [data-widget-task-edit],.ne-live-view-only .note-card [data-widget-remove-task],.ne-live-view-only .note-card [data-action="card-menu"]{pointer-events:none!important}
.ne-live-view-only .connection-handle,.ne-live-view-only .connection-line{pointer-events:none!important}
.ne-live-shell .zoom-controls{bottom:18px}
@media(max-width:650px){.ne-live-shell .zoom-controls{display:none!important}.ne-live-shell .board-workspace{margin-bottom:0!important;padding-bottom:0!important}.ne-live-header{padding:0 12px;height:58px;min-height:58px}}
.ne-live-invite-list{display:flex;flex-direction:column;gap:6px}
.ne-live-invite-row{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #eeebf5;padding:6px 0;color:#595166;font-size:11px;min-width:0}
.ne-live-invite-row span{overflow-wrap:anywhere}
.ne-live-comments-allowed.ne-live-view-only .ne-comment textarea{pointer-events:auto!important}
.ne-live-comments-allowed.ne-live-view-only .ne-comment [data-action="card-menu"]{pointer-events:none!important}
.ne-live-shell .ne-drag-tool[data-tool-kind="board"]{display:none!important}
.ne-live-place-comment .canvas,.ne-live-place-comment .canvas .note-card{cursor:crosshair!important}
.ne-live-shell{display:flex!important;flex-direction:column;height:100%;min-height:0!important}
.ne-live-shell>.app-main{display:flex;flex:1;min-height:0;height:100%}
.ne-live-shell .ne-live-page{display:flex;flex:1;min-height:0}
.ne-live-shell .board-workspace{display:flex;flex:1;min-height:0}
.ne-live-shell .main-surface{flex:1;min-height:0}

/* v3.22 Inline editing and text clarity */
.ne-inline-task-edit{display:block;flex:1;min-width:0;font:inherit!important;font-size:13px!important;color:#303041;border:1px solid #9e90ee;border-radius:4px;padding:4px 6px;line-height:1.4;background:#fff;outline:none;}
.ne-inline-title-input{display:block;width:100%;font-family:inherit;font-size:calc(13.5px * var(--tile-font-scale, 1))!important;font-weight:800;color:#303041;line-height:1.5;border:0;border-bottom:2px solid #8e7bed;background:transparent;outline:none;margin:0 0 10px;padding:0 0 2px;}
.ne-inline-map-edit{width:100%;font:inherit;font-size:12px;padding:6px;border:1px solid #a699ef;border-radius:6px;}
.canvas-items{backface-visibility:visible;text-rendering:geometricPrecision;}
.canvas-items img{image-rendering:auto;}

/* v3.23 — compact navigation: never hide icon glyphs or active section controls */
.sidebar.compact .sidebar-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;}
.sidebar.compact .nav-item{min-width:44px;min-height:44px;flex-shrink:0;}
.sidebar.compact .nav-item>svg,.sidebar.compact .board-nav-row .nav-item>svg{display:block!important;visibility:visible!important;opacity:1!important;flex-shrink:0;width:17px;height:17px;}
.sidebar.compact .board-nav-row{padding-left:0!important;min-width:0;}
.sidebar.compact .board-nav-row>.nav-item{min-width:44px;width:44px;flex:0 0 44px;margin:auto;padding:0!important;justify-content:center;}
.sidebar.compact .board-tree-children{margin-left:0;padding-left:0;}
.sidebar.compact .sidebar-scroll .section-label{min-height:10px;height:auto;margin:9px 8px;}
.sidebar.compact .sidebar-scroll .section-label button{width:33px;height:33px;display:grid;place-items:center;margin:auto;}
.sidebar.compact .sidebar-scroll .section-label button svg{display:block!important;width:16px;height:16px;}
.sidebar.compact .nav-list{padding:0 9px;}
.sidebar.compact .sidebar-footer{margin-top:auto;}
/* Note density: content drives height unless user explicitly resized card */
.note-card.text-document:not(.fixed-note){min-height:0!important;height:max-content!important;}
.note-card.text-document:not(.fixed-note) .card-inner{display:block;flex:none;overflow:visible;}
.note-card.text-document:not(.fixed-note) .note-longform{flex:none;overflow-y:auto;max-height:600px;}
.note-card.text-document:not(.fixed-note) .card-footer{margin-top:5px;padding-top:0;}
.note-card.text-document:not(.fixed-note) .card-inner{position:relative;padding-top:16px;padding-right:17px;}
.note-card{container-type:inline-size;}
@container (max-width: 220px){
 .ne-note-tag-badge{padding:3px!important;min-width:24px!important;min-height:24px!important;border-radius:50%!important;justify-content:center!important;}
 .ne-note-tag-badge .ne-tag-name,.ne-note-tag-badge .ne-tag-caret{display:none!important;}
 .ne-note-tag-badge .ne-tag-dot{width:8px!important;height:8px!important;margin:0!important;}
}
.note-card.is-narrow-card .ne-note-tag-badge{padding:3px!important;min-width:24px!important;min-height:24px!important;border-radius:50%!important;justify-content:center!important;}
.note-card.is-narrow-card .ne-note-tag-badge .ne-tag-name,
.note-card.is-narrow-card .ne-note-tag-badge .ne-tag-caret{display:none!important;}
.note-card.is-narrow-card .ne-note-tag-badge .ne-tag-dot{width:8px!important;height:8px!important;margin:0!important;}
.card-top{display:flex;align-items:center;justify-content:space-between;min-width:0;}
.card-source{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.card-top-right{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;}
.visual-link-caption{display:flex;align-items:center;justify-content:space-between;min-width:0;}
.visual-link-caption span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ne-note-tag-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.4px;cursor:pointer;line-height:1.2;user-select:none;transition:all .15s ease;}
.ne-note-tag-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,0.08);}
.ne-tag-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;}
.ne-tag-caret{opacity:0.6;margin-left:1px;}
.ne-tag-dropdown{position:fixed;background:#fff;border:1px solid #e2def1;border-radius:10px;box-shadow:0 8px 24px rgba(40,32,70,0.18);padding:6px;min-width:160px;z-index:9999;font-family:inherit;animation:popIn .14s ease;}
.ne-tag-dropdown-title{font-size:10px;font-weight:700;color:#9690a6;padding:4px 8px 6px;text-transform:uppercase;letter-spacing:0.5px;}
.ne-tag-dropdown-sep{font-size:10px;font-weight:700;color:#9690a6;padding:6px 8px 4px;border-top:1px solid #f0edf8;margin-top:4px;text-transform:uppercase;letter-spacing:0.5px;}
.ne-tag-dropdown-list{display:grid;gap:2px;}
.ne-tag-option{display:flex;align-items:center;gap:7px;width:100%;padding:6px 8px;border:0;background:transparent;border-radius:6px;font-size:11px;font-weight:600;color:#353241;cursor:pointer;text-align:left;}
.ne-tag-option:hover{background:#f3efff;color:#6b52e6;}
.ne-tag-option.active{background:#ede8ff;color:#6045df;}
.ne-tag-option svg{margin-left:auto;}
.ne-tag-custom-row{display:flex;align-items:center;gap:2px;}
.ne-tag-del-btn{background:transparent;border:0;color:#b4b0c2;font-size:14px;padding:2px 6px;border-radius:4px;cursor:pointer;}
.ne-tag-del-btn:hover{background:#fee2e2;color:#dc2626;}
.ne-tag-dropdown-footer{padding:6px 4px 2px;border-top:1px solid #f0edf8;margin-top:4px;}
.ne-tag-new-input{width:100%;border:1px solid #dedbea;border-radius:6px;padding:5px 8px;font-size:11px;font-family:inherit;outline-color:#7565ec;}
.ne-column-member.selected-member{outline:2px solid #7962f4!important;background:#ede9fe!important;}
/* Extension installation guide */
.ne-ext-dialog{width:min(1080px,calc(100vw - 28px))!important;max-width:1080px!important;}
.ne-ext-guide{padding:6px 25px 24px;}
.ne-ext-intro{color:#747182;font-size:13px;line-height:1.7;margin:0 0 15px;}
.ne-ext-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
.ne-ext-step{border:1px solid #e9e6f4;border-radius:14px;overflow:hidden;background:#faf9ff;display:flex;flex-direction:column;min-height:100%;}
.ne-ext-shot{min-height:250px;display:flex;align-items:center;justify-content:center;background:#f5f3fd;border-bottom:1px solid #ece9f5;padding:12px;}
.ne-ext-step img{display:block;max-width:100%;max-height:236px;width:auto;height:auto;object-fit:contain;background:#fff;border-radius:10px;box-shadow:0 1px 0 rgba(0,0,0,.02);}
.ne-ext-step p{font-size:12px;padding:11px 12px 13px;margin:0;line-height:1.55;color:#4a4760;}
.ne-ext-step b{color:#7259d9;margin-right:5px;}
.ne-ext-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px;}
.ne-extension-button{white-space:nowrap;}
@media(max-width:820px){.ne-ext-grid{grid-template-columns:1fr}.ne-ext-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}}
@media(max-width:600px){.ne-ext-guide{padding:4px 16px 18px}.ne-extension-button span{display:none}.ne-ext-shot{min-height:200px;padding:8px}.ne-ext-step img{max-height:190px}}

.sidebar.compact .board-nav-icon{display:grid!important;place-items:center!important;visibility:visible!important;opacity:1!important;width:25px!important;height:25px!important;flex-shrink:0;}
.sidebar.compact .board-nav-icon svg{display:block!important;visibility:visible!important;width:15px!important;height:15px!important;}
.sidebar.compact .board-nav-row .nav-item>span.board-nav-icon{display:grid!important;}
.sidebar.compact .board-nav-row .nav-item>span.nav-label{display:none!important;}

/* v3.24 compact settings and accessible tooltip icons */
.ne-settings-dialog .settings-grid{padding-top:14px;gap:0}
.ne-settings-dialog .settings-row{min-height:57px;padding:10px 0;margin:0}
.ne-settings-dialog .settings-row strong{font-size:12px}
.ne-settings-label{display:flex;align-items:center;gap:9px}
.ne-settings-info{display:inline-grid;place-items:center;font-family:Arial,sans-serif;font-size:10px;font-weight:700;color:#9187af;width:15px;height:15px;border-radius:50%;border:1px solid #d4cdec;cursor:help;outline-offset:3px}
.ne-settings-info:hover,.ne-settings-info:focus-visible{color:#6c57d7;border-color:#816de9;background:#f2efff}
.ne-settings-dialog .settings-version{padding:17px 0 7px}
/* v3.24 patch: unified movable edge dock and sidebar board operations */
.ne-board-options{position:fixed;z-index:210;display:flex;flex-direction:column;min-width:160px;padding:6px;border:1px solid #e6e1f3;background:#fff;border-radius:11px;box-shadow:0 12px 35px #1e193322}
.ne-board-options button{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;color:#4c465a;font-size:12px;cursor:pointer}.ne-board-options button:hover{background:#f2efff;color:#6e59d7}
.ne-board-options button{display:flex;align-items:center;gap:9px}.ne-board-options button:disabled{cursor:not-allowed;opacity:.38;background:transparent;color:#8e8998}.board-order-icon.is-up{transform:rotate(-90deg)}.board-order-icon.is-down{transform:rotate(90deg)}
.shared-board-list{display:flex;flex-direction:column;gap:2px}.shared-board-nav .nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.shared-board-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#eeeafd;color:#7462e9;flex:none}.shared-board-role{margin-left:auto;padding:3px 5px;border-radius:5px;background:#f4f2fa;color:#918b9d;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;flex:none}.shared-board-status{min-height:38px;width:100%;display:flex;align-items:center;gap:9px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#9993a5;font-size:11px;text-align:left}.shared-board-status.is-error{cursor:pointer;color:#a25f70}.shared-board-status.is-error:hover{background:#fff4f6}.sidebar.compact .shared-board-role,.sidebar.compact .shared-board-status span:last-child{display:none}.sidebar.compact .shared-board-status{justify-content:center;padding:0}
.ne-board-bulk{display:flex;gap:8px;align-items:center;margin:3px 16px 7px}.ne-board-bulk button{padding:4px 7px;font-size:10px;border:1px solid #ebe6f6;border-radius:8px;background:white;color:#7462d4}.ne-board-bulk button:disabled{opacity:.4}.ne-board-check{margin:0 8px 0 2px;flex-shrink:0;accent-color:#7562e8;cursor:pointer}
.ne-tool-dock{left:14px;top:50%;bottom:auto;right:auto;transform:translateY(-50%);flex-direction:column;gap:3px;overflow:visible;max-height:min(84%,680px);transition:left .26s cubic-bezier(.2,.7,.2,1),right .26s cubic-bezier(.2,.7,.2,1),top .26s cubic-bezier(.2,.7,.2,1),bottom .26s cubic-bezier(.2,.7,.2,1),width .2s,height .2s,transform .26s cubic-bezier(.2,.7,.2,1)}
.ne-tool-dock[data-dock-edge="right"]{left:auto;right:14px;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column}
.ne-tool-dock[data-dock-edge="top"]{left:50%;right:auto;top:12px;bottom:auto;transform:translateX(-50%);flex-direction:row;max-width:90%;max-height:none}
.ne-tool-dock[data-dock-edge="bottom"]{left:50%;right:auto;top:auto;bottom:12px;transform:translateX(-50%);flex-direction:row;max-width:90%;max-height:none}
.ne-tool-dock .ne-drag-tool{min-width:0;min-height:34px;padding:7px 9px;gap:6px}
.ne-tool-dock .ne-dock-grip{height:12px;min-height:12px;min-width:16px;display:grid;place-items:center;cursor:grab;color:#9790ac;touch-action:none;border-radius:5px;padding:0}.ne-tool-dock .ne-dock-grip:active{cursor:grabbing}.ne-grip-line{width:13px;height:2px;border-radius:4px;background:currentColor;display:block}.ne-tool-dock[data-dock-edge="top"] .ne-grip-line,.ne-tool-dock[data-dock-edge="bottom"] .ne-grip-line{width:2px;height:13px}
.ne-tool-dock .ne-dock-grip:hover{background:#f0edff;color:#6d5bdd}
.ne-tool-dock .ne-dock-divider{height:1px;width:100%;background:#ece9f4}
.ne-tool-dock[data-dock-edge="top"] .ne-dock-divider,.ne-tool-dock[data-dock-edge="bottom"] .ne-dock-divider{height:28px;width:1px}
.ne-tool-dock .ne-dock-action{border:0;background:transparent;color:#6b6679;display:grid;place-items:center;min-width:33px;min-height:33px;border-radius:8px;cursor:pointer}.ne-tool-dock .ne-dock-action:hover{background:#f1eeff;color:#6754cf}
.ne-tool-dock[data-dock-edge="top"] .ne-drag-tool>span:last-child,.ne-tool-dock[data-dock-edge="bottom"] .ne-drag-tool>span:last-child{display:none}
.ne-tool-dock.is-dragging{transition:width .18s ease,height .18s ease,max-height .18s ease,flex-direction .18s ease!important;right:auto!important;bottom:auto!important;transform:none!important;z-index:100;box-shadow:0 15px 40px #1e193344}.ne-tool-dock.is-dragging .ne-dock-grip{touch-action:none}
.ne-live-comments-allowed.ne-live-view-only .ne-comment .connection-handle{pointer-events:auto!important}
.ne-live-comments-allowed.ne-live-view-only .connection-endpoint{pointer-events:auto!important}
@media(max-width:850px){.ne-tool-dock{display:none!important}}
.ne-live-comments-allowed.ne-live-view-only .ne-tool-dock{display:flex!important}
.ne-live-comments-allowed.ne-live-view-only .ne-tool-dock .ne-drag-tool[data-tool-kind="comment"]{pointer-events:auto!important}
.board-nav-row:has(.ne-board-check) .board-manage{display:none!important}
.board-nav-row .ne-board-check{position:absolute;right:12px;top:12px;width:15px;height:15px;margin:0;z-index:2}
.board-nav-row:has(.ne-board-check)>.nav-item{padding-right:35px}

/* v3.25: keep text/imagery native-resolution; no blanket blur/upscale filters. */
.canvas-items{transform-origin:0 0;backface-visibility:visible;}
.canvas-items .note-card,.canvas-items .note-card img{filter:none;backface-visibility:visible;}
.canvas-items .note-card{ -webkit-font-smoothing:auto; text-rendering:optimizeLegibility;}

/* v3.27: keep notifications clear of bottom dock and zoom widgets */
.toast{left:auto!important;right:24px!important;bottom:82px!important;transform:none!important;max-width:min(380px,calc(100vw - 32px))!important;animation:neToastRight .18s ease-out!important;}
@keyframes neToastRight{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.toast{right:12px!important;bottom:88px!important;max-width:calc(100vw - 24px)!important}.ne-live-header .ne-back-whiteboard{font-size:0;padding:0 9px}.ne-live-header .ne-back-whiteboard svg{width:16px;height:16px}}
.ne-live-header .top-actions{flex-wrap:nowrap}.ne-live-header .ne-back-whiteboard{white-space:nowrap}

/* v3.29: compact board portals; selection remains visible without a large cover. */
.note-card.board-portal{padding:5px 4px 9px;gap:7px;border-radius:13px}
.note-card.board-portal .portal-icon{width:min(70px,63%);border-radius:15px}
.note-card.board-portal .portal-title{font-size:12px;max-width:100%;font-weight:700}
.note-card.board-portal .ne-inline-board-name{width:100%;font-size:12px;text-align:center;border:1px solid #b4a5ff;border-radius:6px;padding:4px;outline:none;background:#fff;color:#262436}
.note-card.board-portal:not(.selected-card):not(:hover){border-color:transparent!important;background:transparent!important;box-shadow:none!important}

/* v3.31: mobile expanding tools -- never a full-screen modal. */
.ne-mobile-tools{display:none}
@media(max-width:850px){
.ne-mobile-tools{display:block;position:absolute;z-index:34;left:12px;right:12px;bottom:calc(65px + env(safe-area-inset-bottom));pointer-events:none;opacity:0;transform:translateY(22px) scale(.96);transform-origin:bottom center;transition:opacity .23s ease,transform .33s cubic-bezier(.2,.8,.2,1);padding:12px;background:rgba(255,255,255,.97);border:1px solid #e9e6f6;box-shadow:0 14px 45px #24213b25;border-radius:18px;visibility:hidden}
.ne-mobile-tools.expanded{pointer-events:auto;opacity:1;transform:translateY(0) scale(1);visibility:visible}
.ne-mobile-tools-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.ne-mobile-tools button{border:0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:5px;background:#f6f4ff;color:#6255be;font-size:10px;font-weight:700;min-height:61px}
.ne-mobile-tools button:active{background:#e7e0ff}
.mobile-bottom .mobile-add svg{transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.mobile-bottom .mobile-add.is-open svg{transform:rotate(45deg)}
}
@media(max-width:390px){.ne-mobile-tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.ne-mobile-tools,.mobile-bottom .mobile-add svg{transition:none!important}}

/* v3.32 r2 interaction and accessibility normalization */
:root{--scroll-thumb:#d7d3e2;--scroll-thumb-hover:#bcb4d5;--scroll-track:transparent}
html{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:var(--scroll-track)}
*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid transparent;border-radius:999px;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}
.crumbs,.toolbar{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
.crumbs::-webkit-scrollbar,.toolbar::-webkit-scrollbar{display:block;height:6px}
textarea,.capture-area textarea,.inspect-textarea{resize:none}
.dialog{max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.password-field{position:relative;display:flex;align-items:center}
.password-field .field{padding-right:62px}
.password-toggle{position:absolute;right:7px;border:0;background:transparent;color:var(--purple);font-size:11px;font-weight:800;padding:7px;border-radius:7px}
.password-toggle:hover,.password-toggle:focus-visible,.search-clear:hover,.search-clear:focus-visible{background:var(--purple-soft)}
.search-clear{border:0;background:transparent;color:#817b8e;border-radius:7px;width:29px;height:29px;display:grid;place-items:center}
.search-clear[hidden]{display:none}
.btn-warning,.ne-confirm .btn-danger{height:39px;padding:0 16px;border-radius:10px;font-size:12px;font-weight:800}
.btn-warning{border:1px solid #d3a04e;background:#fff9ec;color:#875b17}
.ne-confirm .btn-danger{border:1px solid #d56275;background:#b84860;color:#fff!important}
.ne-confirm .dialog-sub{white-space:pre-line}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){*{scrollbar-color:auto}.overlay{backdrop-filter:none}.primary-btn,.ne-confirm .btn-danger{forced-color-adjust:auto}}

/* v3.34: Text clarity, freeform text, 0.25 image hairline, space rename, loading screen */
.canvas-items{transform-origin:0 0;backface-visibility:visible;text-rendering:geometricPrecision;}
.canvas-items .note-card,.canvas-items .note-card img{filter:none;backface-visibility:visible;}
.canvas-items .note-card{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;}

/* Freeform Text Tool (not in box, unlimited scale, crisp text) */
/* Freeform Text Tool (Borderless, Canvas-Native Typography) */
.note-card.ne-free-text {
  background: transparent !important;
  border: 1.5px solid transparent !important;
  box-shadow: none !important;
  border-radius: 4px;
  overflow: visible !important;
  padding: 4px;
  box-sizing: border-box;
}
.note-card.ne-free-text:hover {
  border-color: rgba(140, 123, 242, 0.35) !important;
}
.note-card.ne-free-text.selected-card {
  border-color: #8c7bf2 !important;
  box-shadow: 0 0 0 1.5px rgba(140, 123, 242, 0.25) !important;
}
.note-card.ne-free-text.selected-card::after {
  display: none !important;
}
.ne-free-text-body {
  font-family: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: calc(20px * var(--tile-font-scale, 1));
  font-weight: 500;
  line-height: 1.4;
  color: #242432;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  cursor: text;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  outline: none;
}
.note-card.ne-free-text.is-editing .ne-free-text-body {
  cursor: text;
}
.note-card.ne-free-text .connection-handle {
  top: -12px !important;
  right: -12px !important;
}

/* Corner hover priority: suppress other UI elements when hovering bottom-right resize corner */
.note-card.is-corner-hovering *{pointer-events:none!important;}
.note-card.is-corner-hovering{cursor:nwse-resize!important;}
.note-card.is-corner-hovering::after{opacity:1!important;transform:scale(1.25);border-color:#6144e8!important;}

/* Subtle 0.25px hairline stroke on images so screenshots don't blend into whiteboard background */
.note-card.image-tile .image-stage{border:0.25px solid rgba(0,0,0,0.18)!important;border-radius:3px!important;box-sizing:border-box}
.note-card.image-tile .image-stage>img{border-radius:2px!important}
.card-media img{border-bottom:0.25px solid rgba(0,0,0,0.12)}

/* Space Rename & Board Heading Edit */
.space-rename-btn{background:transparent;border:0;color:#a9a4b2;border-radius:7px;padding:7px;display:grid;place-items:center;cursor:pointer}
.space-rename-btn:hover{background:#ede9fe;color:#6d28d9}
.board-heading.is-editable{cursor:pointer;user-select:none;transition:opacity .15s ease}
.board-heading.is-editable:hover strong{color:#705ae4;text-decoration:underline}
.board-heading-edit-icon{display:inline-flex;align-items:center;opacity:.55;margin-left:6px;vertical-align:middle;color:#705ae4}
.board-heading.is-editable:hover .board-heading-edit-icon{opacity:1}
.crumb-edit-badge{display:inline-flex;align-items:center;margin-left:4px;opacity:.6}

/* Unlimited account infinity badge */
.unlimited-badge{display:flex;align-items:center;gap:7px;margin:10px 0 6px;font-family:"Be Vietnam Pro",sans-serif;font-weight:800;color:#7462e9;font-size:13px}
.unlimited-badge .infinity-symbol{font-size:24px;line-height:1;font-weight:400;color:#7462e9}
.quota-pending{min-height:28px;display:flex;align-items:center;margin:8px 0 2px;color:#8f8a9d;font-size:11px;font-weight:700}

/* Loading screen with star logo loop ramp speed out */
.loading-screen{position:fixed;inset:0;z-index:9999;background:#f7f7f5;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s ease}
.loading-screen.is-visible{opacity:1;pointer-events:auto}
.loading-screen.is-hidden{opacity:0;pointer-events:none}
.loading-content{display:flex;flex-direction:column;align-items:center;gap:16px}
.loading-star-wrap{display:grid;place-items:center;border-radius:22px;background:#f0ecff;padding:12px;box-shadow:0 12px 35px #7462e930}
.loading-star-icon{animation:starRampSpeedOut 1.15s cubic-bezier(0.22,1,0.36,1) infinite;transform-origin:center center;display:block}
@keyframes starRampSpeedOut{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.loading-text{font-family:"Be Vietnam Pro",sans-serif;font-size:16px;font-weight:800;letter-spacing:-.8px;color:#242432}
.loading-text span{color:#7462e9}

/* v3.35 Text tool exterior resize handle & image top-right */
.ne-text-resize-handle{position:absolute;right:-10px;bottom:-10px;width:22px;height:22px;border-radius:50%;background:#7962f4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;cursor:nwse-resize;box-shadow:0 2px 8px rgba(121,98,244,0.4);z-index:60;user-select:none;transition:transform .15s ease,background .15s ease}
.ne-text-resize-handle:hover{transform:scale(1.18);background:#6248ea}
.image-top-right{position:absolute;top:6px;right:6px;z-index:12}
.board-choice-item:hover{background:#f3efff!important;border-color:#a594fd!important}
.move-selection-dialog{width:min(440px,calc(100vw - 28px))!important;max-width:440px!important}

/* ==========================================================================
   v3.37 Beta — Smart Calendar & ChatGPT MCP Styles
   ========================================================================== */
.calendar-view { display: flex; flex-direction: column; flex: 1; min-height: 0; background: #fff; border-radius: 16px; margin: 0 20px 20px; border: 1px solid #eeeaf2; box-shadow: 0 4px 20px rgba(22, 16, 46, 0.03); overflow: hidden; }
.cal-topbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid #f1eff5; flex-wrap: wrap; gap: 12px; }
.cal-nav-group { display: flex; align-items: center; gap: 8px; }
.cal-period-title { font-family:"Be Vietnam Pro", sans-serif; font-size: 16px; font-weight: 800; color: #232034; min-width: 140px; }
.cal-view-tabs { display: flex; background: #f6f5fa; padding: 3px; border-radius: 10px; gap: 2px; }
.cal-tab-btn { border: 0; background: transparent; padding: 6px 12px; border-radius: 8px; font-size: 11px; font-weight: 700; color: #7a7689; cursor: pointer; transition: all .15s ease; }
.cal-tab-btn:hover { color: #5c45e0; }
.cal-tab-btn.active { background: #fff; color: #6449ec; box-shadow: 0 2px 6px rgba(0,0,0,0.06); }
.cal-actions { display: flex; align-items: center; gap: 10px; }

/* Month Grid */
.cal-month-wrap { display: flex; flex-direction: column; flex: 1; min-height: 520px; }
.cal-weekday-row { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid #f2eff6; background: #faf9fd; }
.cal-weekday-cell { padding: 9px 12px; font-size: 11px; font-weight: 800; color: #8e8a9d; text-transform: uppercase; letter-spacing: 0.5px; }
.cal-days-grid { display: grid; grid-template-columns: repeat(7, 1fr); grid-auto-rows: minmax(95px, 1fr); flex: 1; background: #eeeaf2; gap: 1px; }
.cal-day-cell { background: #fff; padding: 7px 8px; display: flex; flex-direction: column; gap: 4px; cursor: pointer; transition: background .12s ease; min-height: 95px; }
.cal-day-cell:hover { background: #fbfaff; }
.cal-day-cell.other-month { background: #faf9fb; opacity: 0.55; }
.cal-day-cell.today { background: #f9f7ff; }
.cal-day-cell.today .cal-day-number { background: #674ee8; color: #fff; border-radius: 50%; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; }
.cal-day-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; }
.cal-day-number { font-size: 12px; font-weight: 700; color: #434053; }
.cal-events-list { display: flex; flex-direction: column; gap: 3px; overflow: hidden; }
.cal-pill { display: flex; align-items: center; gap: 5px; padding: 2px 6px; border-radius: 5px; font-size: 11px; font-weight: 600; color: #323041; background: #f3efff; border-left: 3px solid #7359ef; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; transition: transform .1s ease; }
.cal-pill:hover { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,0.08); }
.cal-pill.completed { opacity: 0.6; text-decoration: line-through; border-left-color: #10b981; background: #ecfdf5; color: #065f46; }
.cal-pill.task-pill { border-left-color: #3b82f6; background: #eff6ff; }
.cal-pill.overdue-pill { border-left-color: #ef4444; background: #fef2f2; color: #991b1b; }

/* Agenda & Overdue Views */
.cal-agenda-wrap { padding: 20px 24px; overflow-y: auto; display: flex; flex-direction: column; gap: 20px; flex: 1; }
.cal-agenda-group { display: flex; flex-direction: column; gap: 8px; }
.cal-agenda-date { font-family:"Be Vietnam Pro", sans-serif; font-size: 14px; font-weight: 800; color: #6950ec; display: flex; align-items: center; gap: 8px; }
.cal-agenda-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: #fff; border: 1px solid #eeeaf2; border-radius: 12px; transition: all .15s ease; cursor: pointer; }
.cal-agenda-item:hover { border-color: #beb2fb; box-shadow: 0 4px 15px rgba(22, 16, 46, 0.04); }
.cal-item-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
.cal-item-dot { width: 10px; height: 10px; border-radius: 50%; background: #7359ef; flex-shrink: 0; }
.cal-item-title { font-size: 13px; font-weight: 700; color: #282537; margin: 0; }
.cal-item-time { font-size: 11px; color: #8e8a9d; margin-top: 2px; }
.cal-item-board { font-size: 11px; background: #f4f2fa; padding: 3px 8px; border-radius: 6px; color: #6b677a; font-weight: 600; }

/* Overdue Card */
.cal-overdue-card { border-left: 4px solid #ef4444; background: #fffbfa; }
.cal-overdue-badge { font-size: 10px; font-weight: 800; color: #ef4444; background: #fee2e2; padding: 3px 8px; border-radius: 6px; }

/* Week & Day Timelines */
.cal-time-grid { display: flex; flex-direction: column; flex: 1; overflow-y: auto; max-height: calc(100vh - 220px); }
.cal-time-row { display: grid; grid-template-columns: 60px repeat(7, 1fr); border-bottom: 1px solid #f4f2f7; min-height: 48px; }
.cal-time-label { font-size: 10px; color: #a4a0b2; padding: 4px 8px; text-align: right; font-weight: 600; }
.cal-time-col { border-left: 1px solid #f4f2f7; padding: 3px; position: relative; }

/* ChatGPT MCP Settings & Modal */
.ne-mcp-dialog { width: min(600px, 94vw)!important; max-width: 600px!important; }
.ne-mcp-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.ne-mcp-badge.active { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; }
.ne-mcp-url-box { display: flex; align-items: center; justify-content: space-between; background: #f7f6fc; border: 1px solid #e7e3f4; padding: 8px 12px; border-radius: 10px; margin: 10px 0 16px; font-family: monospace; font-size: 12px; color: #3b3753; word-break: break-all; }
.ne-mcp-scopes-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 20px; font-size: 11px; color: #534f64; }
.ne-mcp-scope-item { display: flex; align-items: center; gap: 6px; }
.ne-mcp-instructions { background: #faf9fd; border: 1px solid #edeaf4; border-radius: 10px; padding: 14px 16px; font-size: 11px; line-height: 1.6; color: #625e74; margin-bottom: 16px; }
.ne-mcp-instructions ol { margin: 6px 0 0 18px; padding: 0; }
.ne-mcp-instructions li { margin-bottom: 4px; }
.ne-mcp-cli-code { background: #1f1d32; color: #e5e0ff; padding: 8px 12px; border-radius: 8px; font-family: monospace; font-size: 11px; margin-top: 6px; overflow-x: auto; }

/* ==========================================================================
   v3.38 Beta — Fluid Resize System & Contextual Rich Text Toolbar
   ========================================================================== */

/* Unified Fluid Resize Handles */
.ne-resize-handle {
  position: absolute;
  z-index: 60;
  box-sizing: border-box;
  touch-action: none;
  user-select: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
}
.note-card.selected-card .ne-resize-handle {
  opacity: 1;
  pointer-events: auto;
}

/* Handle A: Width Mode (Right Edge) */
.ne-resize-handle.handle-e {
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 32px;
  border-radius: 5px;
  background: #7962f4;
  cursor: ew-resize;
  box-shadow: 0 1px 4px rgba(121, 98, 244, 0.4);
}
.ne-resize-handle.handle-e:hover {
  transform: translateY(-50%) scale(1.2);
  background: #5d42e6;
}

/* Handle B: Height Mode (Bottom Edge) */
.ne-resize-handle.handle-s {
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 10px;
  border-radius: 5px;
  background: #7962f4;
  cursor: ns-resize;
  box-shadow: 0 1px 4px rgba(121, 98, 244, 0.4);
}
.ne-resize-handle.handle-s:hover {
  transform: translateX(-50%) scale(1.2);
  background: #5d42e6;
}

/* Handle C: Scale Mode (Bottom-Right Corner) */
.ne-resize-handle.handle-se {
  right: -6px;
  bottom: -6px;
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background: #ffffff;
  border: 2.5px solid #7962f4;
  cursor: nwse-resize;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.18);
}
.ne-resize-handle.handle-se:hover {
  transform: scale(1.25);
  background: #f1edff;
  border-color: #5d42e6;
}

/* Touch hit targets for mobile coarse pointer devices */
@media (pointer: coarse), (max-width: 850px) {
  .ne-resize-handle.handle-e::before {
    content: '';
    position: absolute;
    top: -14px;
    bottom: -14px;
    left: -16px;
    right: -16px;
  }
  .ne-resize-handle.handle-s::before {
    content: '';
    position: absolute;
    left: -16px;
    right: -16px;
    top: -14px;
    bottom: -14px;
  }
  .ne-resize-handle.handle-se::before {
    content: '';
    position: absolute;
    left: -16px;
    top: -16px;
    right: -16px;
    bottom: -16px;
  }
}

/* Typography elements inside .ne-free-text-body */
.ne-free-text-body h1 {
  font-size: 1.75em;
  margin: 0.15em 0;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #1a1727;
}
.ne-free-text-body h2 {
  font-size: 1.35em;
  margin: 0.15em 0;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #242134;
}
.ne-free-text-body h3 {
  font-size: 1.15em;
  margin: 0.15em 0;
  font-weight: 700;
  color: #2e2a40;
}
.ne-free-text-body p {
  margin: 0.15em 0;
}
.ne-free-text-body ul, .ne-free-text-body ol {
  margin: 0.15em 0 0.15em 1.25em;
  padding: 0;
}
.ne-free-text-body li {
  margin: 0.1em 0;
}
.ne-free-text-body blockquote {
  margin: 0.25em 0;
  padding-left: 0.75em;
  border-left: 3px solid #8c7bf2;
  color: #555169;
  font-style: italic;
}
.ne-free-text-body code {
  background: #f1edff;
  color: #6d28d9;
  padding: 1px 5px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.9em;
}
.ne-free-text-body pre {
  background: #1e1b4b;
  color: #f8fafc;
  padding: 8px 12px;
  border-radius: 6px;
  margin: 0.25em 0;
  overflow-x: auto;
}
.ne-free-text-body pre code {
  background: transparent;
  color: inherit;
  padding: 0;
}
.ne-free-text-body mark {
  background: #fef08a;
  padding: 1px 3px;
  border-radius: 2px;
}
.ne-free-text-body a {
  color: #7359ef;
  text-decoration: underline;
}
.ne-free-text-body .ne-checklist {
  list-style: none;
  padding-left: 0;
  margin: 0.2em 0;
}
.ne-free-text-body .ne-checklist li {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.ne-free-text-body .ne-checklist input[type="checkbox"] {
  margin-right: 4px;
  cursor: pointer;
  accent-color: #7359ef;
}
.empty-text-placeholder {
  color: #a09cb0;
  font-style: italic;
  user-select: none;
}

/* Floating Contextual Formatting Toolbar */
.ne-text-floating-toolbar {
  position: fixed;
  z-index: 10000;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 4px 6px;
  background: #ffffff;
  border: 1px solid #e5e2ee;
  border-radius: 10px;
  box-shadow: 0 4px 24px rgba(18, 14, 38, 0.12), 0 1px 4px rgba(18, 14, 38, 0.06);
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  opacity: 0;
  transform: translateY(4px);
  pointer-events: none;
  transition: opacity 0.14s ease, transform 0.14s ease;
}
.ne-text-floating-toolbar *,
.ne-text-floating-toolbar button,
.ne-text-floating-toolbar select {
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
.ne-text-floating-toolbar.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.ne-fmt-select {
  height: 28px;
  border: 1px solid #e3e0ec;
  border-radius: 6px;
  background: #fbfafc;
  color: #272438;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  padding: 0 6px;
  cursor: pointer;
  outline: none;
}
.ne-fmt-select:hover {
  background: #f4f2f9;
  border-color: #beb9cf;
}
.ne-fmt-divider {
  width: 1px;
  height: 20px;
  background: #ede9f4;
  margin: 0 3px;
}
.ne-fmt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 6px;
  border: none;
  background: transparent;
  color: #3b374d;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
  touch-action: manipulation;
}
.ne-fmt-btn:hover {
  background: #f2effc;
  color: #6347ea;
}
.ne-fmt-btn.is-active {
  background: #ece8ff;
  color: #6347ea;
}
.ne-fmt-color-wrap {
  position: relative;
}
.ne-fmt-color-popover, .ne-fmt-highlight-popover {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 6px;
  background: #fff;
  border: 1px solid #e3e0ec;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  padding: 6px;
  display: flex;
  gap: 6px;
  z-index: 10001;
}
.ne-fmt-color-popover[hidden],
.ne-fmt-highlight-popover[hidden] {
  display: none !important;
}
.ne-text-floating-toolbar[data-placement="above"] .ne-fmt-color-popover,
.ne-text-floating-toolbar[data-placement="above"] .ne-fmt-highlight-popover {
  top: auto;
  bottom: calc(100% + 8px);
  margin-top: 0;
}
.ne-text-floating-toolbar[data-placement="below"] .ne-fmt-color-popover,
.ne-text-floating-toolbar[data-placement="below"] .ne-fmt-highlight-popover {
  top: calc(100% + 8px);
  bottom: auto;
  margin-top: 0;
}
.ne-color-swatch {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.12s ease;
  box-sizing: border-box;
}
.ne-color-swatch:hover {
  transform: scale(1.25);
}
.ne-color-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 4px;
}

/* Mobile Formatting Tray */
@media (max-width: 768px) {
  .ne-text-floating-toolbar {
    left: 10px !important;
    right: 10px !important;
    bottom: 12px !important;
    top: auto !important;
    width: auto !important;
    justify-content: space-around;
    overflow-x: auto;
    border-radius: 14px;
    padding: 8px 10px;
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
  }
}


/* v3.42 — shared boards retain the same app shell and toolbar footprint. */
.ne-live-shell.shell{display:flex!important;flex-direction:row!important;width:100%;height:100%;min-height:0!important}
.ne-live-shell.shell>.sidebar{flex-shrink:0}
.ne-live-shell.shell>.app-main{width:auto!important;min-width:0;flex:1;min-height:0}
.ne-live-page{padding:0!important;gap:0!important}
.ne-live-access-strip{display:flex;align-items:center;gap:12px;padding:6px 18px 0;flex:0 0 auto}
.ne-live-access-strip .ghost-btn{margin-left:auto}
.ne-live-shell .toolbar{flex-shrink:0}
@media(max-width:650px){.ne-live-shell.shell{flex-direction:row!important}.ne-live-access-strip{padding:5px 12px}.ne-live-shell .mobile-bottom{display:flex}}

/* v3.44: sharing is an attribute beside board options, never a separate category. */
.ne-board-globe{display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;width:16px;height:23px;color:#8b78e3;pointer-events:none;margin-right:4px}
.board-nav-row:has(.ne-board-globe) .board-manage{flex:0 0 22px}

/* v3.48: public is a status of the canonical board, not a second decorated tile. */
.board-nav-icon.ne-board-public-icon,.sidebar.compact .board-nav-icon.ne-board-public-icon{background:transparent!important;color:#7953f5!important;border-radius:0!important;}
.board-nav-icon.ne-board-public-icon svg{width:16px;height:16px;stroke-width:1.8;fill:none;}

/* v3.48: external shared viewers are not members of the owner's personal workspace. */
.ne-live-shell.ne-live-external>.sidebar{display:none!important}
.ne-live-shell.ne-live-external>.app-main{flex:1;width:100%!important;margin-left:0!important}
.ne-live-shell.ne-live-external .mobile-menu{display:none!important}
.ne-live-shell.ne-live-external .ne-live-header .crumb-link{display:none}

.ne-live-shell.ne-live-external .ne-live-external-home{display:inline-flex;white-space:nowrap}
.ne-live-shell.ne-live-external .ne-live-header .slash{display:none}

/* v3.50: logo is a real navigation control; preserve existing brand styling. */
.ne-brand-home{display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;text-align:left;color:inherit;min-width:0;cursor:pointer}.ne-brand-home:hover .brand-text{color:#6754d6}.ne-brand-home:focus-visible{outline:2px solid #9a83ee;outline-offset:4px;border-radius:8px}

/* v3.51: Vietnamese diacritics use one consistent Unicode-capable text family. */
html, body, button, input, textarea, select, .ne-rich-text-content, .ne-free-text, [contenteditable="true"] { font-family: "Be Vietnam Pro", system-ui, sans-serif; }

/* v3.57 Share restoration: keep owner Share accessible on small touch screens. */
.ne-live-access-share{display:none!important}
@media(max-width:850px){
 .ne-live-access-strip .ne-live-access-share{display:inline-flex!important;align-items:center;gap:5px;min-height:34px;white-space:nowrap}
 .ne-live-header .top-actions .ne-extension-button{display:none}
}

/* v3.80: compact legal links directly beneath Settings version */
.ne-settings-dialog .ne-settings-legal-links{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 0 14px}
.ne-settings-dialog .ne-settings-legal-links a{font-size:10px;font-weight:500;color:#9189a5;text-decoration:none;line-height:1.5}
.ne-settings-dialog .ne-settings-legal-links a:hover,.ne-settings-dialog .ne-settings-legal-links a:focus-visible{color:#6c57d7;text-decoration:underline}

.ne-tool-text-glyph{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;font:800 17px/1 Manrope,sans-serif;flex:none}.ne-tool-note-glyph{display:flex;flex-direction:column;justify-content:center;gap:3px;align-items:center;width:16px;height:16px;flex:none;border:1.5px solid currentColor;border-radius:3px}.ne-tool-note-glyph span{display:block;width:9px;height:1px;background:currentColor;border-radius:1px}.ne-note-tag-badge{flex:0 0 auto!important;width:max-content;max-width:100%;box-sizing:border-box;white-space:nowrap;align-self:center}.ne-note-tag-badge .ne-tag-dot{width:6px!important;height:6px!important;min-width:6px;min-height:6px;aspect-ratio:1;transform:none!important;flex:0 0 6px!important}.ne-note-tag-badge .ne-tag-name{overflow:hidden;text-overflow:ellipsis;min-width:0}.note-card .card-top-right{min-width:0;max-width:100%;align-items:center}.note-card.video-tile .video-brand{min-width:0}.note-card.video-tile .video-brand .card-top-right{margin-left:auto}.note-card.ne-compact-link{position:relative}.note-card.ne-compact-link .ne-compact-link-actions{align-self:flex-start}.note-card.ne-compact-link .ne-compact-content{padding-top:14px}.note-card.image-tile .image-top-right{align-items:center}
