@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0f111a;--bg-gradient:linear-gradient(135deg, #0f111a 0%, #1a1b2e 100%);--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-shadow:#0003 0 8px 32px 0;--primary:#0ea5e9;--primary-hover:#0284c7;--primary-light:#0ea5e926;--success:#10b981;--danger:#ef4444;--text-main:#f8fafc;--text-muted:#94a3b8;--font-family:"Outfit", sans-serif}body.light-mode{--bg-color:#f1f5f9;--bg-gradient:linear-gradient(135deg, #e2e8f0 0%, #f8fafc 100%);--glass-bg:#fff9;--glass-border:#00000014;--glass-shadow:#0000000d 0 8px 32px 0;--primary:#0ea5e9;--primary-hover:#0284c7;--primary-light:#0ea5e926;--text-main:#0f172a;--text-muted:#64748b}body{transition:background .4s,color .4s}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-gradient);color:var(--text-main);background-attachment:fixed;justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem 1rem;transition:background .4s,color .4s;display:flex}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600}#root{width:100%;max-width:none;position:relative}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;margin-bottom:2rem;padding:2rem;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}.animate-slide-in{animation:.3s ease-out forwards slideIn}.app-container{flex-direction:column;gap:1.5rem;width:100%;display:flex}.pinch-zoom-scope{transform-origin:0 0;will-change:transform;touch-action:pan-x pan-y}.header{text-align:center;margin-bottom:1rem;position:relative}.theme-toggle{border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .3s;display:flex;position:absolute;top:0;right:0}.theme-toggle:hover{background:var(--primary-light);transform:rotate(15deg)}.project-title-input{background:-webkit-linear-gradient(45deg, var(--primary), #d8b4fe);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;border:none;border-bottom:2px dashed #0000;outline:none;width:100%;margin-bottom:.5rem;font-family:inherit;font-size:2.5rem;font-weight:700;transition:border-color .3s}.project-title-input:hover,.project-title-input:focus{border-bottom-color:#8b5cf666}.project-title-input::placeholder{color:#ffffff1a;-webkit-text-fill-color:#ffffff1a}.header p{color:var(--text-muted);font-weight:300}.day-tabs{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem;display:flex}.day-tab{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:20px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.day-tab:hover{color:var(--text-main);background:#ffffff1a}.day-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 10px var(--primary-light)}.progress-container{flex-direction:column;align-items:center;gap:1rem;display:flex}.progress-info{justify-content:space-between;width:100%;font-size:.9rem;display:flex}.progress-info .label{color:var(--text-muted)}.progress-info .percent{color:var(--primary);font-weight:600}.progress-bar-bg{background:#ffffff0d;border-radius:10px;width:100%;height:12px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary), #c084fc);border-radius:10px;height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.task-form-wrapper{flex-direction:column;gap:.8rem;margin-bottom:2rem;display:flex}.priority-selectors{flex-wrap:wrap;gap:.5rem;display:flex}.p-btn{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:12px;padding:.3rem .8rem;font-family:inherit;font-size:.8rem;transition:all .2s}.p-btn:hover{color:var(--text-main);background:#ffffff1a}.p-btn.active.normal{background:var(--text-muted);color:#fff;border-color:var(--text-muted)}.p-btn.active.urgent{color:#f87171;background:#ef444433;border-color:#ef4444;box-shadow:0 0 10px #ef444433}.p-btn.active.important{color:#fde047;background:#eab30833;border-color:#eab308;box-shadow:0 0 10px #eab30833}.p-btn.active.both{color:#fff;background:linear-gradient(45deg,#ef44444d,#eab3084d);border-color:#f97316;box-shadow:0 0 10px #f9731633}.priority-badge{border-radius:8px;margin-right:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.task-form{gap:.8rem;display:flex}.task-input{border:1px solid var(--glass-border);color:var(--text-main);background:#0003;border-radius:12px;outline:none;flex:1;padding:1rem 1.2rem;font-family:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s}.task-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.task-input::placeholder{color:#fff3}.add-btn{background:var(--primary);color:#fff;cursor:pointer;width:52px;height:52px;box-shadow:0 4px 14px var(--primary-light);border:none;border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;transition:transform .2s,background .2s,box-shadow .2s;display:flex}.add-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.add-btn:active{transform:translateY(0)}.task-list{flex-direction:column;gap:.8rem;list-style:none;display:flex}.drag-handle{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 .5rem 0 0;font-size:1.2rem;transition:color .2s;display:flex}.drag-handle:hover{color:var(--text-main)}.drag-handle:active{cursor:grabbing}.memo-drag-handle{padding:0}.task-list-empty{text-align:center;color:var(--text-muted);padding:2rem 0;font-style:italic}.task-item{border:1px solid var(--glass-border);background:#ffffff05;border-radius:12px;align-items:center;padding:1rem;transition:all .3s;display:flex}.task-item:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translate(4px)}.task-checkbox-wrapper{flex-shrink:0;width:24px;height:24px;margin-right:1rem;position:relative}.task-checkbox-wrapper input{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;position:absolute}.task-checkbox-custom{border:2px solid var(--text-muted);border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:0;left:0}.task-checkbox-custom:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:5px;margin-top:-2px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);transform:rotate(-45deg)scale(0)}.task-checkbox-wrapper input:checked~.task-checkbox-custom{background:var(--success);border-color:var(--success)}.task-checkbox-wrapper input:checked~.task-checkbox-custom:after{transform:rotate(-45deg)scale(1)}.task-content{word-break:break-word;flex:1;font-size:1rem;transition:color .3s}.task-item.completed .task-content{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.delete-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.task-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--danger);background:#ef44441a}.task-item-container{border:1px solid var(--glass-border);background:#ffffff05;border-radius:12px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.task-item-container:hover{background:#ffffff0a;border-color:#ffffff1a}.task-item-container .task-item{background:0 0;border:none;border-radius:0;padding:1rem}.task-item-container .task-item:hover{background:0 0;border-color:#0000;transform:none}.subtask-section{flex-direction:column;gap:.5rem;padding:0 1rem 1rem 3rem;display:flex}.subtask-list{flex-direction:column;gap:.4rem;margin-bottom:.5rem;list-style:none;display:flex}.subtask-item{color:var(--text-muted);align-items:center;font-size:.9rem;display:flex}.subtask-checkbox-wrapper{flex-shrink:0;width:18px;height:18px;margin-right:.8rem;position:relative}.subtask-checkbox-wrapper input{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;position:absolute}.subtask-checkbox-custom{border:2px solid #fff3;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex;position:absolute;top:0;left:0}.subtask-checkbox-custom:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4px;margin-top:-1px;transition:transform .2s;transform:rotate(-45deg)scale(0)}.subtask-checkbox-wrapper input:checked~.subtask-checkbox-custom{background:var(--success);border-color:var(--success)}.subtask-checkbox-wrapper input:checked~.subtask-checkbox-custom:after{transform:rotate(-45deg)scale(1)}.subtask-content{flex:1;transition:color .3s}.subtask-item.completed .subtask-content{opacity:.5;text-decoration:line-through}.subtask-delete-btn{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0 .5rem;font-size:1.2rem;line-height:1}.subtask-delete-btn:hover{color:var(--danger);opacity:1}.subtask-input-wrapper{align-items:center;gap:.8rem;display:flex}.subtask-icon{color:#fff3;font-size:1.2rem}.subtask-input{color:var(--text-main);background:0 0;border:none;border-bottom:1px solid #ffffff1a;outline:none;flex:1;padding:.3rem 0;font-family:inherit;font-size:.85rem;transition:border-color .2s}.subtask-input:focus{border-color:var(--primary)}.history-section{margin-top:1rem}.history-title{color:var(--text-main);margin-bottom:1rem;font-size:1.1rem}.history-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.history-day{border:1px solid var(--glass-border);text-align:center;background:#ffffff08;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;transition:background .3s;display:flex}.history-day:hover{background:#ffffff0f}.history-day-label{color:var(--text-muted);text-transform:uppercase;font-size:.7rem}.history-ring{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:relative}.history-ring:before{content:"";border:3px solid #ffffff1a;border-radius:50%;position:absolute;inset:0}.history-ring-fill{background:conic-gradient(var(--primary) var(--angle,0%), transparent 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(#0000 50%,#000 50%);mask:radial-gradient(#0000 50%,#000 50%)}.memo-pad-container{max-height:80vh;overflow-y:auto}.memo-pad-container::-webkit-scrollbar{width:8px}.memo-pad-container::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.memo-pad-container::-webkit-scrollbar-thumb:hover{background:#fff3}.memo-form-grid{flex-wrap:wrap;gap:1rem;display:flex}.memo-input-group{flex-direction:column;flex:1;gap:.3rem;display:flex}.memo-input-group label{color:var(--primary-light);text-transform:uppercase;letter-spacing:1px;font-size:.8rem;font-weight:500}.memo-input-group.full-width{flex-basis:100%}.memo-input-group.title-group{flex:2}.memo-input{border:1px solid var(--glass-border);color:var(--text-main);background:#ffffff08;border-radius:8px;outline:none;padding:.6rem 1rem;font-family:inherit;transition:all .2s}.memo-input:focus{border-color:var(--primary);background:#ffffff0f}.memo-textarea{border:1px solid var(--glass-border);color:var(--text-main);resize:vertical;background:#ffffff08;border-radius:8px;outline:none;min-height:120px;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:all .2s}.memo-textarea:focus{border-color:var(--primary);background:#ffffff0f}.memo-textarea::placeholder,.memo-input::placeholder{color:#fff3}.memo-submit-row{justify-content:flex-end;display:flex}.memo-add-btn{border-radius:8px;width:auto;height:auto;padding:.6rem 1.5rem;font-size:.9rem}.memo-divider{background:var(--glass-border);border:0;height:1px;margin:1rem 0}.memo-list{flex-direction:column;gap:1rem;display:flex}.memo-card{border:1px solid var(--glass-border);background:#ffffff05;border-radius:12px;flex-direction:column;gap:.5rem;padding:1.2rem;transition:all .3s;display:flex}.memo-card:hover{background:#ffffff0a;border-color:#8b5cf64d;transform:translateY(-2px);box-shadow:0 4px 15px #0003}.memo-card-header{justify-content:space-between;align-items:center;display:flex}.memo-card-date{color:var(--text-muted);background:#ffffff0d;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.memo-card-title{color:var(--primary-light);margin:0;font-size:1.1rem;font-weight:600}.memo-card-content{color:var(--text-main);white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.5}.memo-delete{opacity:1;width:auto;height:auto;padding:0 .4rem;font-size:1.2rem}.project-dashboard{--project-density-scale:1;padding:1.5rem}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dashboard-header h2{color:var(--text-main);margin:0;font-size:1.5rem}.light-mode .header h1{text-shadow:1px 1px 2px #0003}.project-add-form{gap:.5rem;display:flex}.project-input{border:1px solid var(--glass-border);color:var(--text-main);background:#ffffff0d;border-radius:8px;outline:none;padding:.5rem 1rem;font-size:.95rem;transition:all .2s}.project-input:focus{border-color:var(--primary);background:#ffffff1a}.mini-btn{border-radius:8px;width:auto;height:auto;padding:.5rem 1rem;font-size:1.2rem}.tree-container{flex-direction:column;gap:1rem;display:flex}.tree-item{flex-direction:column;transition:all .2s;display:flex}.mindmap-canvas{flex-direction:column;align-items:flex-start;gap:3rem;min-height:60vh;padding:3rem;display:flex;overflow:auto}.project-dashboard .mindmap-canvas{transform-origin:0 0;transform:scale(var(--project-density-scale));width:calc(100% / var(--project-density-scale));min-height:calc(60vh / var(--project-density-scale))}.mindmap-group{flex-direction:row;align-items:center;display:flex}.mindmap-node-anchor{flex-direction:column;align-items:center;display:flex;position:relative}.mindmap-node-card{background:var(--glass-bg);border:1px solid var(--glass-border);z-index:2;cursor:grab;border-radius:12px;flex-direction:column;gap:.8rem;min-width:250px;padding:1rem 1.2rem;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 6px #0000000d}.mindmap-node-card:active{cursor:grabbing}.mindmap-node-card.drag-over{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.mindmap-node-card.drag-over.drop-before{box-shadow:inset 0 3px 0 var(--primary), 0 0 0 2px var(--primary-light)}.mindmap-node-card.drag-over.drop-after{box-shadow:inset 0 -3px 0 var(--primary), 0 0 0 2px var(--primary-light)}.mindmap-node-card.drag-over.drop-inside{box-shadow:inset 0 0 0 2px var(--primary), 0 0 0 2px var(--primary-light)}.mindmap-node-card.dragging{opacity:.55}.root-drop-zone{border:2px dashed var(--primary-light);width:100%;min-height:54px;color:var(--text-muted);border-radius:12px;justify-content:center;align-items:center;margin-top:1rem;font-size:.9rem;display:flex}.mindmap-node-card.completed{opacity:.7}.mm-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tree-title{color:var(--text-main);flex:1;font-size:1.05rem;font-weight:500}.node-memo-preview{color:var(--text-main);border:1px dashed var(--glass-border);white-space:pre-wrap;word-break:break-word;background:#ffffff0a;border-radius:8px;margin:0;padding:.45rem .6rem;font-size:.92rem;line-height:1.4}.node-memo-list-preview{flex-direction:column;gap:.35rem;display:flex}.node-memo-preview a{color:var(--primary);word-break:break-all;font-size:.82rem;text-decoration:underline}.mm-actions{gap:.4rem;display:flex}.mm-depth1-extras{border-top:1px dashed var(--glass-border);align-items:center;gap:.8rem;padding-top:.5rem;display:flex}.mm-assignments{background:#0000000d;border-radius:8px;flex-direction:column;padding:.5rem;display:flex}.light-mode .mm-assignments{background:#00000005}.day-toggles{flex-wrap:wrap;gap:.45rem;display:flex}.day-pill{border:1px solid var(--glass-border);min-width:34px;height:32px;color:var(--text-main);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:0 .5rem;font-size:.85rem;font-weight:600}.day-pill.active{background:var(--primary-light);border-color:var(--primary)}.expand-btn{border:1px solid var(--glass-border);min-height:34px;color:var(--text-main);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:.35rem .7rem;font-size:.88rem;font-weight:600}.expand-btn:hover,.day-pill:hover{background:#ffffff1f}.mm-expand-btn{background:var(--primary-light);border:1px solid var(--primary);color:var(--text-main);cursor:pointer;border-radius:6px;margin-top:.5rem;padding:.3rem;font-size:.8rem}.mm-drawer-container{flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem;display:flex}.mm-drawer{border:1px dashed var(--primary-light);background:#ffffff0d;border-radius:8px;gap:.5rem;padding:.5rem;display:flex}.memo-link-editor{flex-direction:column;gap:.5rem;width:100%;display:flex}.memo-link-add-btn{min-height:34px;padding:.35rem .65rem}.memo-close-btn{border:1px solid var(--glass-border);min-height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:.35rem .65rem;transition:all .2s}.memo-close-btn:hover{color:var(--text-main);background:#ffffff1a}.memo-item-editor{border:1px solid var(--glass-border);background:#ffffff08;border-radius:8px;flex-direction:column;gap:.5rem;padding:.3rem .45rem;display:flex}.memo-item-remove-btn{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-self:flex-end;padding:.2rem .45rem;font-size:.78rem}.mindmap-children-col{--connector-color:#38bdf8;--connector-size:2px;--parent-gap:1.5rem;--child-gap:2rem;padding-left:var(--child-gap);margin-left:var(--parent-gap);flex-direction:column;gap:1.5rem;display:flex;position:relative}.mindmap-children-col>.mindmap-group,.mindmap-children-col>.mindmap-group>.mindmap-node-anchor{position:relative}.connector-line{background:var(--connector-color,#38bdf8);pointer-events:none;z-index:1;position:absolute}.connector-line.horizontal-out,.connector-line.horizontal-in{height:2px}.connector-line.vertical-spine{width:2px}.tree-add-drawer{margin-top:.4rem;margin-left:1.5rem;display:flex}.tree-add-input{border:1px solid var(--primary-light);color:#fff;background:#ffffff0d;border-radius:6px;outline:none;flex:1;padding:.5rem 1rem;font-size:.9rem}.light-mode .tree-add-input{color:#000}.save-child-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .2s}.save-child-btn:hover{background:var(--primary-hover)}.add-child-btn,.delete-node-btn{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.detail-toggle-btn{width:auto;min-width:48px;padding:0 .45rem;font-size:.75rem}.add-child-btn:hover{background:var(--primary-light);color:#fff}.delete-node-btn:hover{color:#fca5a5;background:#ef444433}.mini-select{border:1px solid var(--glass-border);color:var(--text-muted);background:#ffffff0d;border-radius:6px;outline:none;padding:.3rem;font-size:.8rem}.light-mode .mini-select{color:var(--text-main)}.daily-view-container{padding:1.5rem}.daily-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.daily-progress-wrap{align-items:center;gap:.8rem;display:flex}.daily-progress-bar{background:#ffffff1a;border-radius:4px;width:100px;height:8px;overflow:hidden}.daily-progress-fill{background:linear-gradient(90deg, var(--primary), var(--primary-light));height:100%;transition:width .4s}.daily-task-list{flex-direction:column;gap:.8rem;padding:0;list-style:none;display:flex}.daily-task-item{border:1px solid var(--glass-border);background:#ffffff08;border-radius:12px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.daily-task-item:hover{background:#ffffff0d;transform:translate(4px)}.daily-task-content{flex:1;align-items:center;gap:.8rem;display:flex}.daily-project-badge{color:var(--primary-light);white-space:nowrap;background:#8b5cf633;border:1px solid #8b5cf64d;border-radius:12px;padding:.2rem .6rem;font-size:.75rem}.priority-badge{white-space:nowrap;border-radius:8px;padding:.2rem .5rem;font-size:.7rem;font-weight:500}.priority-badge.urgent{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.priority-badge.important{color:#fcd34d;background:#f59e0b26;border:1px solid #f59e0b4d}.priority-badge.both{color:#fff;background:linear-gradient(45deg,#ef444433,#f59e0b33);border:1px solid #f59e0b66}.light-mode .priority-badge.urgent{color:#ef4444;border-color:#ef444480}.light-mode .priority-badge.important{color:#d97706;border-color:#f59e0b80}.light-mode .priority-badge.both{color:#ea580c;border-color:#f59e0b99}.light-mode .daily-project-badge{color:var(--primary-hover);border-color:#8b5cf666}.task-text{color:var(--text-main);font-size:1.05rem}.daily-task-item.completed .task-text{color:var(--text-muted);text-decoration:line-through}.unassign-btn{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;transition:all .2s}.light-mode .unassign-btn{color:#ef4444;border-color:#ef444466}.unassign-btn:hover{background:#ef444433}.view-tab{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:12px;padding:.6rem 1.2rem;font-family:inherit;font-size:.95rem;transition:all .3s}.view-tab:hover{background:#ffffff1a}.view-tab.active{background:var(--primary-light);color:#fff;border-color:var(--primary);font-weight:500}.light-mode .view-tab.active{color:var(--primary-hover)}.transparent-input{color:var(--text-main);background:0 0;border:1px solid #0000;border-radius:4px;outline:none;padding:.2rem .5rem;font-family:inherit;transition:border-color .2s,background .2s}.transparent-input:hover{background:#ffffff0d}.transparent-input:focus{border-bottom:1px solid var(--primary);background:#ffffff14}.vision-board-panel{flex-direction:column;gap:.8rem;display:flex}.vision-topbar{flex-direction:column;gap:.5rem;display:flex}.vision-mode-switch{gap:.5rem;display:flex}.vision-form{grid-template-columns:1fr 1fr 1fr 1fr auto;gap:.6rem;display:grid}.vision-help{color:var(--text-muted);margin:0;font-size:.85rem}.vision-canvas-wrap{border:1px solid var(--glass-border);border-radius:12px;overflow:auto}.vision-canvas{background:radial-gradient(circle at 1px 1px,#ffffff14 1px,#0000 0) 0 0/28px 28px,#ffffff05;position:relative}.vision-canvas.is-view-mode{background:radial-gradient(circle at 1px 1px,#ffffff0a 1px,#0000 0) 0 0/28px 28px,#ffffff04}.vision-links{pointer-events:none;position:absolute;inset:0}.vision-links line{stroke:#38bdf8;stroke-width:2px}.vision-node{border:1px solid var(--glass-border);text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;z-index:2;background:#ffffff0d;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;display:flex;position:absolute}.vision-canvas.is-view-mode .vision-node{cursor:default;box-shadow:0 8px 24px #0000002e}.vision-node.is-edit{justify-content:flex-start}.vision-node.is-view{justify-content:center}.vision-node.dragging{opacity:.75;transform:scale(1.01)}.vision-node:active{cursor:grabbing}.vision-node.text-only{min-height:84px}.vision-node-image{object-fit:cover;border:1px solid var(--glass-border);pointer-events:none;border-radius:8px;width:100%;height:124px}.vision-node-image.fallback{color:var(--text-muted);background:#ffffff08;justify-content:center;align-items:center;display:flex}.vision-node-title{color:var(--text-main);text-align:center;width:100%;margin:0;font-size:1rem;line-height:1.2}.vision-node-note{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;text-align:center;width:100%;margin:0;font-size:.82rem;line-height:1.35}.vision-node-actions{justify-content:center;gap:.35rem;margin-top:.25rem;display:flex}.vision-node-action{border:1px solid var(--glass-border);width:28px;height:28px;color:var(--text-main);cursor:pointer;background:#00000026;border-radius:6px}.vision-node-editor{border-top:1px dashed var(--glass-border);flex-direction:column;gap:.35rem;margin-top:.35rem;padding-top:.35rem;display:flex}.vision-editor-actions{justify-content:flex-end;gap:.35rem;display:flex}.vision-canvas.is-view-mode .vision-node-actions,.vision-canvas.is-view-mode .vision-node-editor{display:none}@media (width<=900px){.vision-mode-switch{flex-wrap:wrap}.vision-form{grid-template-columns:1fr}}.workflow-panel{flex-direction:column;gap:.8rem;display:flex}.workflow-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.workflow-controls{align-items:center;gap:.5rem;min-width:360px;display:flex}.workflow-controls .project-input{flex:1}.workflow-canvas-wrap{border:1px solid var(--glass-border);border-radius:12px;overflow:auto}.workflow-canvas{background:radial-gradient(circle at 1px 1px,#ffffff14 1px,#0000 0) 0 0/24px 24px,#ffffff05;position:relative}.workflow-node{border:1px solid var(--glass-border);cursor:grab;background:#ffffff0f;border-radius:10px;align-items:center;gap:.35rem;width:220px;min-height:72px;padding:.5rem;display:flex;position:absolute}.workflow-node.dragging{opacity:.7}.workflow-delete{opacity:1}.sync-panel{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.sync-input{border:1px solid var(--glass-border);width:min(420px,92vw);color:var(--text-main);background:#ffffff0d;border-radius:10px;outline:none;padding:.6rem .9rem;font-family:inherit;font-size:.9rem}.sync-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.disconnect-tab{color:#fca5a5;border-color:#ef444459}.sync-status{text-align:center;width:100%;color:var(--text-muted);margin:.2rem 0 0;font-size:.84rem}
