:root{--ink:#1a1714;--ink-2:#2e2a26;--ink-3:#4a4540;--ink-light:#7a756e;--paper:#f7f4ef;--paper-2:#ede9e1;--paper-3:#e0dbd0;--accent:#c4531a;--accent-2:#a8441200;--accent-warm:#d4732a;--accent-muted:#e8c4a0;--green:#2d6a4f;--green-light:#d8f3dc;--amber:#b5500a;--amber-light:#fde8d0;--red:#9b2335;--red-light:#fde8ea;--blue:#1a4a7a;--blue-light:#dce8f5;--surface:#fff;--surface-2:#f9f7f3;--border:#ddd8ce;--border-2:#ccc6ba;--shadow:0 1px 3px #1a171414, 0 4px 12px #1a17140f;--shadow-md:0 4px 16px #1a17141f, 0 1px 4px #1a171414;--shadow-lg:0 12px 40px #1a171429, 0 4px 12px #1a17141a;--radius:8px;--radius-lg:14px;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--paper-2)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}#landing{background:var(--ink);min-height:100vh;color:var(--paper);position:relative;overflow:hidden}.landing-grain{pointer-events:none;z-index:1;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");position:fixed;inset:0}.land-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1714d9;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:20px 60px;transition:padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.land-nav.scrolled{padding:14px 60px}.nav-logo{font-family:var(--font-display);color:var(--paper);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.nav-logo span{color:var(--accent-warm)}.nav-links{align-items:center;gap:36px;list-style:none;display:flex}.nav-links a{color:#f7f4ef99;letter-spacing:.02em;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--paper)}.nav-cta{background:var(--accent);border-radius:6px;padding:9px 22px;color:var(--paper)!important;font-weight:600!important;transition:background .2s!important}.nav-cta:hover{background:var(--accent-warm)!important}.hero{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 40px 80px;display:flex;position:relative}.hero-badge{color:var(--accent-muted);letter-spacing:.1em;text-transform:uppercase;opacity:0;background:#c4531a26;border:1px solid #c4531a4d;border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 14px;font-size:.75rem;font-weight:600;animation:.8s .2s forwards fadeUp;display:inline-flex;transform:translateY(20px)}.hero-badge:before{content:"●";color:var(--accent-warm);font-size:.5rem}.hero-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--paper);opacity:0;max-width:900px;font-size:clamp(3rem,7vw,6rem);font-weight:900;line-height:1.05;animation:.9s .35s forwards fadeUp;transform:translateY(30px)}.hero-title em{color:var(--accent-warm);font-style:italic}.hero-sub{color:#f7f4ef8c;opacity:0;max-width:520px;margin:24px auto 40px;font-size:1.125rem;font-weight:300;line-height:1.7;animation:.8s .5s forwards fadeUp;transform:translateY(20px)}.hero-actions{opacity:0;justify-content:center;gap:14px;animation:.8s .65s forwards fadeUp;display:flex;transform:translateY(20px)}.btn-primary{background:var(--accent);color:var(--paper);border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;border:none;padding:14px 32px;font-size:.9375rem;font-weight:600;transition:all .2s}.btn-primary:hover{background:var(--accent-warm);transform:translateY(-1px);box-shadow:0 6px 24px #c4531a59}.btn-ghost{color:var(--paper);border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #fff3;padding:14px 32px;font-size:.9375rem;font-weight:500;transition:all .2s}.btn-ghost:hover{background:#ffffff12;border-color:#ffffff59}.hero-visual{border-radius:var(--radius-lg);opacity:0;background:#ffffff0a;border:1px solid #ffffff1a;width:min(900px,90vw);height:360px;margin-top:64px;animation:1s .8s forwards heroCard;position:relative;overflow:hidden;transform:translateY(40px)perspective(1200px)rotateX(8deg);box-shadow:0 40px 100px #00000080,0 0 0 1px #ffffff0f}.hero-visual:before{content:"";background:#ffffff0a;border-bottom:1px solid #ffffff14;align-items:center;height:44px;display:flex;position:absolute;top:0;left:0;right:0}.mock-dots{z-index:2;gap:6px;display:flex;position:absolute;top:14px;left:16px}.mock-dots span{border-radius:50%;width:10px;height:10px;display:block}.mock-dots span:first-child{background:#ffffff26}.mock-dots span:nth-child(2){background:#ffffff1a}.mock-dots span:nth-child(3){background:#ffffff12}.mock-content{grid-template-columns:180px 1fr;gap:0;display:grid;position:absolute;inset:44px 0 0}.mock-sidebar{background:#ffffff08;border-right:1px solid #ffffff0f;flex-direction:column;gap:4px;padding:16px 12px;display:flex}.mock-sidebar-item{background:#ffffff0d;border-radius:5px;height:28px;margin-bottom:2px}.mock-sidebar-item.active{background:#c4531a40}.mock-main{padding:16px}.mock-columns{grid-template-columns:repeat(3,1fr);gap:12px;height:100%;display:grid}.mock-col{background:#ffffff0a;border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.mock-col-head{background:#ffffff1a;border-radius:3px;width:60%;height:18px}.mock-card{background:#ffffff12;border-left:3px solid;border-radius:5px;height:52px}.mock-card.p1{border-color:var(--red)}.mock-card.p2{border-color:var(--accent-warm)}.mock-card.p3{border-color:var(--green)}.features-section{background:var(--paper);padding:100px 60px;position:relative}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:.75rem;font-weight:700}.section-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);max-width:540px;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15}.features-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:56px;display:grid;overflow:hidden}.feat-card{background:var(--surface);padding:36px 32px;transition:background .2s}.feat-card:hover{background:var(--surface-2)}.feat-icon{background:var(--paper-2);border-radius:var(--radius);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;font-size:1.25rem;display:flex}.feat-card h3{font-family:var(--font-display);color:var(--ink);margin-bottom:8px;font-size:1.125rem;font-weight:600}.feat-card p{color:var(--ink-light);font-size:.875rem;line-height:1.6}.hiw-section{background:var(--ink);color:var(--paper);padding:100px 60px}.hiw-section .section-label{color:var(--accent-warm)}.hiw-section .section-title{color:var(--paper)}.steps-row{grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px;display:grid}.step-card{border-radius:var(--radius);opacity:0;background:#ffffff0a;padding:32px 24px;transition:opacity .6s,transform .6s;position:relative;transform:translateY(24px)}.step-card.visible{opacity:1;transform:none}.step-num{font-family:var(--font-display);color:#c4531a40;margin-bottom:16px;font-size:3rem;font-weight:900;line-height:1}.step-card h3{margin-bottom:8px;font-size:1rem;font-weight:600}.step-card p{color:#f7f4ef80;font-size:.85rem;line-height:1.6}.stats-section{background:var(--accent);justify-content:space-around;align-items:center;gap:40px;padding:64px 60px;display:flex}.stat-item{text-align:center}.stat-num{font-family:var(--font-display);color:var(--paper);font-size:2.75rem;font-weight:900;line-height:1}.stat-label{color:#f7f4efb3;margin-top:6px;font-size:.875rem;font-weight:500}.land-footer{background:var(--ink-2);color:#f7f4ef66;text-align:center;padding:28px;font-size:.8rem}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}@keyframes fadeUp{to{opacity:1;transform:none}}@keyframes heroCard{to{opacity:1;transform:translateY(0)perspective(1200px)rotateX(0)}}#app{background:var(--paper);flex-direction:column;height:100vh;display:none}#app.active{display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:40;height:58px;box-shadow:0 1px 0 var(--border);flex-shrink:0;align-items:center;gap:16px;padding:0 20px;display:flex}.app-logo{font-family:var(--font-display);color:var(--ink);white-space:nowrap;font-size:1.25rem;font-weight:700}.app-logo span{color:var(--accent)}.header-divider{background:var(--border);width:1px;height:24px}.project-tabs{scrollbar-width:none;flex:1;gap:2px;display:flex;overflow-x:auto}.project-tabs::-webkit-scrollbar{display:none}.proj-tab{cursor:pointer;color:var(--ink-light);white-space:nowrap;font-size:.8375rem;font-weight:500;font-family:var(--font-body);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 14px;transition:all .15s;display:flex}.proj-tab:hover{background:var(--paper-2);color:var(--ink)}.proj-tab.active{background:var(--paper-2);color:var(--ink);font-weight:600}.proj-tab .proj-color{border-radius:50%;flex-shrink:0;width:8px;height:8px}.proj-tab .tab-close{opacity:0;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:2px;font-size:.7rem;transition:opacity .15s;display:flex}.proj-tab:hover .tab-close{opacity:.6}.proj-tab .tab-close:hover{background:var(--border);opacity:1!important}.btn-add-project{border:1px dashed var(--border-2);height:32px;color:var(--ink-light);cursor:pointer;white-space:nowrap;font-size:.8rem;font-family:var(--font-body);background:0 0;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;transition:all .15s;display:flex}.btn-add-project:hover{border-color:var(--ink-3);color:var(--ink);background:var(--paper-2)}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-btn{background:var(--paper-2);cursor:pointer;width:34px;height:34px;color:var(--ink-3);border:none;border-radius:7px;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex;position:relative}.header-btn:hover{background:var(--paper-3);color:var(--ink)}.header-btn .badge{background:var(--accent);border:1.5px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.view-toggle{background:var(--paper-2);border-radius:7px;gap:1px;padding:2px;display:flex}.view-btn{cursor:pointer;color:var(--ink-light);font-size:.75rem;font-weight:500;font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:4px 10px;transition:all .15s}.view-btn.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.app-body{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;width:220px;padding:16px 10px;transition:width .2s;display:flex;overflow-y:auto}.sidebar.collapsed{width:52px}.sidebar-section{margin-bottom:8px}.sidebar-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);margin-bottom:4px;padding:0 8px;font-size:.65rem;font-weight:700}.sidebar-item{cursor:pointer;color:var(--ink-3);font-size:.8375rem;font-weight:500;font-family:var(--font-body);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;width:100%;padding:8px 10px;text-decoration:none;transition:all .15s;display:flex}.sidebar-item:hover{background:var(--paper-2);color:var(--ink)}.sidebar-item.active{background:var(--paper-2);color:var(--ink);font-weight:600}.sidebar-item .si-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.sidebar-item .si-label{white-space:nowrap;overflow:hidden}.sidebar-item .si-count{background:var(--paper-3);color:var(--ink-light);border-radius:10px;margin-left:auto;padding:1px 6px;font-size:.65rem;font-weight:700}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:10px;padding:12px 20px;display:flex}.toolbar-title{font-family:var(--font-display);color:var(--ink);margin-right:4px;font-size:1.125rem;font-weight:700}.toolbar-spacer{flex:1}.search-box{background:var(--paper-2);border:1px solid var(--border);border-radius:7px;align-items:center;gap:8px;width:220px;padding:6px 12px;display:flex}.search-box input{font-family:var(--font-body);color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-size:.8rem}.search-box input::placeholder{color:var(--ink-light)}.filter-btn{border:1px solid var(--border);background:var(--surface);font-family:var(--font-body);color:var(--ink-3);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:7px 13px;font-size:.8rem;transition:all .15s;display:flex}.filter-btn:hover{border-color:var(--ink-3);color:var(--ink)}.btn-new-task{background:var(--accent);color:var(--paper);font-family:var(--font-body);cursor:pointer;border:none;border-radius:7px;align-items:center;gap:7px;padding:8px 16px;font-size:.8375rem;font-weight:600;transition:all .15s;display:flex}.btn-new-task:hover{background:var(--accent-warm)}.progress-bar-section{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;padding:10px 20px;display:flex}.prog-label{color:var(--ink-light);font-size:.8rem;font-weight:500}.prog-track{background:var(--paper-3);border-radius:3px;flex:1;height:6px;overflow:hidden}.prog-fill{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-warm) 100%);border-radius:3px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.prog-pct{color:var(--ink);font-size:.8rem;font-weight:700;font-family:var(--font-mono)}.prog-stats{gap:16px;display:flex}.prog-stat{color:var(--ink-light);font-size:.75rem}.prog-stat strong{color:var(--ink);font-weight:700}.board-view{flex:1;align-items:flex-start;gap:16px;padding:20px;display:flex;overflow-x:auto}.kanban-col{background:var(--paper-2);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;flex-shrink:0;width:290px;max-height:calc(100vh - 220px);display:flex}.col-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.col-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.col-name{color:var(--ink);letter-spacing:.01em;flex:1;font-size:.8375rem;font-weight:700}.col-count{background:var(--surface);color:var(--ink-light);font-size:.7rem;font-weight:700;font-family:var(--font-mono);border-radius:10px;padding:2px 7px}.col-menu{opacity:.4;cursor:pointer;border-radius:4px;padding:2px 4px;font-size:.9rem}.col-menu:hover{opacity:1;background:var(--paper-3)}.col-cards{flex-direction:column;flex:1;gap:8px;min-height:60px;padding:10px;display:flex;overflow-y:auto}.col-cards.drag-over{background:#c4531a0f;border-radius:8px}.col-add{border-top:1px solid var(--border);flex-shrink:0;padding:8px 12px}.col-add-btn{border:1px dashed var(--border-2);width:100%;color:var(--ink-light);cursor:pointer;font-size:.8rem;font-family:var(--font-body);background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:7px;transition:all .15s;display:flex}.col-add-btn:hover{border-color:var(--ink-3);color:var(--ink);background:var(--surface)}.task-card{background:var(--surface);border:1px solid var(--border);cursor:grab;border-radius:10px;padding:12px 14px;transition:box-shadow .15s,transform .15s,border-color .15s;position:relative;overflow:hidden}.task-card:before{content:"";border-radius:10px 0 0 10px;width:3px;position:absolute;top:0;bottom:0;left:0}.task-card.p-critical:before{background:var(--red)}.task-card.p-high:before{background:var(--amber)}.task-card.p-medium:before{background:var(--accent-warm)}.task-card.p-low:before{background:var(--green)}.task-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-2);transform:translateY(-1px)}.task-card.dragging{opacity:.5;box-shadow:var(--shadow-lg);cursor:grabbing;transform:rotate(2deg)scale(1.02)}.task-tags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.task-tag{letter-spacing:.04em;text-transform:uppercase;border-radius:10px;padding:2px 7px;font-size:.65rem;font-weight:700}.tag-design{background:var(--blue-light);color:var(--blue)}.tag-dev{background:var(--green-light);color:var(--green)}.tag-marketing{background:var(--amber-light);color:var(--amber)}.tag-research{background:var(--paper-3);color:var(--ink-3)}.tag-bug{background:var(--red-light);color:var(--red)}.tag-feature{background:var(--blue-light);color:var(--blue)}.tag-content{color:#5b21b6;background:#f0eaff}.task-title{color:var(--ink);margin-bottom:6px;font-size:.875rem;font-weight:600;line-height:1.4}.task-desc{color:var(--ink-light);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:.775rem;line-height:1.5;display:-webkit-box;overflow:hidden}.task-priority{letter-spacing:.06em;text-transform:uppercase;border-radius:4px;align-items:center;gap:4px;margin-bottom:8px;padding:2px 7px;font-size:.65rem;font-weight:700;display:inline-flex}.task-priority.p-critical{background:var(--red-light);color:var(--red)}.task-priority.p-high,.task-priority.p-medium{background:var(--amber-light);color:var(--amber)}.task-priority.p-low{background:var(--green-light);color:var(--green)}.task-footer{border-top:1px solid var(--paper-2);justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;display:flex}.task-assignees{gap:-4px;display:flex}.task-avatar{border:2px solid var(--surface);width:24px;height:24px;color:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-4px;font-size:.6rem;font-weight:700;display:flex}.task-avatar:first-child{margin-left:0}.task-meta{align-items:center;gap:10px;display:flex}.task-date{color:var(--ink-light);font-size:.72rem;font-family:var(--font-mono);align-items:center;gap:3px;display:flex}.task-date.overdue{color:var(--red)}.task-date.soon{color:var(--amber)}.task-comments-count,.task-attach-count{color:var(--ink-light);align-items:center;gap:3px;font-size:.72rem;display:flex}.task-checklist-mini{margin:4px 0 8px}.checklist-mini-bar{background:var(--paper-3);border-radius:2px;height:3px;margin-bottom:3px;overflow:hidden}.checklist-mini-fill{background:var(--green);border-radius:2px;height:100%}.checklist-mini-label{color:var(--ink-light);font-size:.68rem;font-family:var(--font-mono)}.add-col-btn{border:2px dashed var(--border-2);border-radius:var(--radius-lg);width:260px;height:60px;color:var(--ink-light);cursor:pointer;font-size:.875rem;font-family:var(--font-body);background:0 0;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;gap:8px;font-weight:500;transition:all .15s;display:flex}.add-col-btn:hover{border-color:var(--ink-3);color:var(--ink);background:var(--surface)}.list-view{flex:1;padding:16px 20px;overflow-y:auto}.list-table{border-collapse:collapse;width:100%;font-size:.8375rem}.list-table thead tr{border-bottom:2px solid var(--border)}.list-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-light);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:.72rem;font-weight:700}.list-table th:hover{color:var(--ink)}.list-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.list-table tbody tr:hover{background:var(--paper-2)}.list-table td{padding:10px 12px}.calendar-view{flex:1;padding:20px;overflow-y:auto}.cal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cal-nav{align-items:center;gap:12px;display:flex}.cal-nav-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--ink-3);border-radius:7px;justify-content:center;align-items:center;font-size:.9rem;transition:all .15s;display:flex}.cal-nav-btn:hover{background:var(--paper-2);border-color:var(--border-2)}.cal-month-title{font-family:var(--font-display);color:var(--ink);font-size:1.125rem;font-weight:700}.cal-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.cal-day-name{background:var(--paper-2);text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-light);padding:8px;font-size:.72rem;font-weight:700}.cal-day{background:var(--surface);vertical-align:top;min-height:100px;padding:8px;transition:background .1s}.cal-day:hover{background:var(--surface-2)}.cal-day.other-month{background:var(--paper-2)}.cal-day.today{background:#fff8f5}.cal-day-num{color:var(--ink-light);text-align:center;border-radius:50%;width:24px;height:24px;margin-bottom:4px;font-size:.8rem;font-weight:700;line-height:24px;display:inline-block}.cal-day.today .cal-day-num{background:var(--accent);color:#fff}.cal-task-pill{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;margin-bottom:2px;padding:2px 6px;font-size:.68rem;font-weight:600;display:block;overflow:hidden}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;background:#1a17148c;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:520px;max-width:calc(100vw - 40px);max-height:90vh;transition:transform .2s;overflow-y:auto;transform:translateY(12px)scale(.98)}.modal-overlay.open .modal{transform:none}.modal-lg{width:760px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.modal-title{font-family:var(--font-display);color:var(--ink);font-size:1.125rem;font-weight:700}.modal-close{background:var(--paper-2);cursor:pointer;width:30px;height:30px;color:var(--ink-3);border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex}.modal-close:hover{background:var(--paper-3);color:var(--ink)}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.form-group{margin-bottom:16px}.form-label{color:var(--ink-3);letter-spacing:.02em;margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border);width:100%;font-family:var(--font-body);color:var(--ink);background:var(--surface);border-radius:7px;outline:none;padding:8px 12px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c4531a1a}.form-textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:7px;padding:8px 16px;font-size:.8375rem;font-weight:600;transition:all .15s}.btn-accent{background:var(--accent);color:var(--paper)}.btn-accent:hover{background:var(--accent-warm)}.btn-outline{border:1px solid var(--border);color:var(--ink-3);background:0 0}.btn-outline:hover{border-color:var(--ink-3);color:var(--ink);background:var(--paper-2)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#7d1a29}.btn-sm{padding:5px 11px;font-size:.775rem}.task-detail-grid{grid-template-columns:1fr 220px;gap:20px;display:grid}.detail-section{margin-bottom:20px}.detail-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);margin-bottom:8px;font-size:.72rem;font-weight:700}.comment{gap:10px;margin-bottom:12px;display:flex}.comment-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.7rem;font-weight:700;display:flex}.comment-body{flex:1}.comment-header{align-items:center;gap:8px;margin-bottom:3px;display:flex}.comment-author{color:var(--ink);font-size:.8rem;font-weight:700}.comment-time{color:var(--ink-light);font-size:.72rem;font-family:var(--font-mono)}.comment-text{color:var(--ink-3);font-size:.8rem;line-height:1.5}.comment-input-row{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:12px;display:flex}.comment-input{border:1px solid var(--border);font-family:var(--font-body);border-radius:7px;outline:none;flex:1;padding:8px 12px;font-size:.8rem;transition:border-color .15s}.comment-input:focus{border-color:var(--accent)}.checklist-item{border-bottom:1px solid var(--paper-2);align-items:center;gap:8px;padding:5px 0;display:flex}.checklist-cb{cursor:pointer;accent-color:var(--accent);width:14px;height:14px}.checklist-text{color:var(--ink);flex:1;font-size:.8375rem}.checklist-text.done{color:var(--ink-light);text-decoration:line-through}.attach-item{background:var(--paper-2);border-radius:7px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;font-size:.8rem;display:flex}.attach-icon{font-size:1.1rem}.attach-name{color:var(--ink);flex:1;font-weight:500}.attach-size{color:var(--ink-light);font-family:var(--font-mono);font-size:.72rem}.notif-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:340px;box-shadow:var(--shadow-lg);z-index:150;display:none;position:fixed;top:62px;right:16px;overflow:hidden}.notif-panel.open{display:block}.notif-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notif-title{color:var(--ink);font-size:.875rem;font-weight:700}.notif-list{max-height:340px;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 16px;transition:background .1s;display:flex}.notif-item:hover{background:var(--paper-2)}.notif-item.unread{background:#fff8f5}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px}.notif-text{color:var(--ink-3);font-size:.8rem;line-height:1.4}.notif-text strong{color:var(--ink)}.notif-time{color:var(--ink-light);font-size:.7rem;font-family:var(--font-mono);margin-top:2px}.focus-mode-bar{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-lg);z-index:300;border-radius:100px;align-items:center;gap:14px;padding:10px 20px;font-size:.875rem;font-weight:500;display:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.focus-mode-bar.active{display:flex}.focus-timer{font-family:var(--font-mono);color:var(--accent-warm);text-align:center;min-width:50px;font-size:1.1rem;font-weight:700}.focus-btn{cursor:pointer;font-family:var(--font-body);border:none;border-radius:100px;padding:4px 12px;font-size:.775rem;font-weight:600;transition:all .15s}.focus-btn.stop{background:var(--red);color:#fff}.focus-btn.pause{color:var(--paper);background:#ffffff26}.overview-view{flex:1;padding:20px;overflow-y:auto}.analytics-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.analytic-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.analytic-card .a-value{font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-size:2rem;font-weight:900;line-height:1}.analytic-card .a-label{color:var(--ink-light);font-size:.775rem;font-weight:500}.analytic-card .a-change{margin-top:6px;font-size:.72rem;font-weight:600}.a-change.up{color:var(--green)}.a-change.down{color:var(--red)}.analytics-charts{grid-template-columns:2fr 1fr;gap:14px;display:grid}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.chart-card h3{color:var(--ink);margin-bottom:16px;font-size:.875rem;font-weight:700}.bar-chart{align-items:flex-end;gap:8px;height:120px;display:flex}.bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.bar{border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:height .6s cubic-bezier(.4,0,.2,1)}.bar-label{color:var(--ink-light);font-size:.65rem;font-family:var(--font-mono)}.donut-wrap{flex-direction:column;align-items:center;gap:16px;display:flex}.donut-svg{transform:rotate(-90deg)}.donut-legend{flex-direction:column;gap:6px;width:100%;display:flex}.legend-item{align-items:center;gap:8px;font-size:.775rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-name{color:var(--ink-3);flex:1}.legend-val{color:var(--ink);font-weight:700;font-family:var(--font-mono)}.tag{border-radius:100px;padding:3px 9px;font-size:.72rem;font-weight:700}.deadline-tag{color:var(--ink-light);font-size:.72rem;font-family:var(--font-mono);align-items:center;gap:4px;display:flex}.toast-container{z-index:400;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:80px;right:20px}.toast{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-lg);border-radius:10px;align-items:center;gap:10px;min-width:240px;max-width:360px;padding:12px 16px;font-size:.8375rem;font-weight:500;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards toastIn;display:flex}.toast.out{animation:.2s forwards toastOut}.toast-icon{font-size:1rem}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translate(40px)}}.empty-state{color:var(--ink-light);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty-state .es-icon{opacity:.4;font-size:2rem}.empty-state p{font-size:.8rem}.member-chips{flex-wrap:wrap;gap:6px;display:flex}.member-chip{background:var(--paper-2);color:var(--ink-3);border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:.775rem;font-weight:500;display:flex}.member-chip .mc-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.55rem;font-weight:700;display:flex}.right-panel{background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;width:0;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.right-panel.open{width:380px}@media (width<=900px){.land-nav{padding:16px 24px}.features-grid,.steps-row,.analytics-grid{grid-template-columns:1fr 1fr}}
