.app,.app *{box-sizing:border-box}.app{font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-app);grid-template-columns:var(--sidebar-w) 1fr;-webkit-font-smoothing:antialiased;height:100%;display:grid;overflow:hidden}.app.collapsed{grid-template-columns:0 1fr}.app button{font-family:inherit}.iq{width:30px;height:30px;color:var(--fg-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.iq:hover{background:var(--bg-hover);color:var(--fg-1)}.iq svg{width:18px;height:18px}.sidebar{background:var(--bg-app);border-right:1px solid var(--border-subtle);flex-direction:column;min-width:0;display:flex;overflow:hidden}.app.collapsed .sidebar{display:none}.ws-switch{cursor:pointer;align-items:flex-start;gap:12px;padding:18px 14px 12px 18px;display:flex}.ws-mark{background:var(--accent);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 1px 2px #5028c840,inset 0 1px #ffffff38}.ws-mark svg{color:#fff;width:22px;height:22px}.ws-meta{flex:1;min-width:0;padding-top:1px}.ws-name{font-size:16px;font-weight:var(--weight-semibold);color:var(--fg-1);letter-spacing:var(--tracking-tight);line-height:1.18}.ws-plan{font-size:var(--text-xs);color:var(--fg-3);margin-top:3px}.ws-flip{color:var(--fg-4);flex:none;margin-top:2px}.ws-flip svg{width:16px;height:16px}.ws-search{padding:4px 14px 12px}.ws-search .box{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:38px;color:var(--fg-3);align-items:center;gap:9px;padding:0 10px 0 12px;display:flex}.ws-search .box svg{flex:none;width:16px;height:16px}.ws-search .box span{font-size:var(--text-sm);flex:1}.ws-search .kbd{font-family:var(--font-mono);color:var(--fg-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:11px}.tree-head{justify-content:space-between;align-items:center;padding:6px 12px 6px 18px;display:flex}.tree-head .lbl{font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}.tree-head .acts{gap:1px;display:flex}.tree-head .acts .iq{width:26px;height:26px}.tree-head .acts .iq svg{width:15px;height:15px}.tree{flex:1;padding:2px 8px 8px;overflow-y:auto}.tree::-webkit-scrollbar{width:8px}.tree::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg-app);border-radius:999px}.tree-row{border-radius:var(--radius-sm);height:34px;color:var(--fg-1);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-base);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 8px;display:flex}.tree-row:hover{background:var(--bg-hover)}.tree-row.sel{background:var(--bg-active)}.tree-row.active{background:var(--accent-soft);color:var(--accent-fg)}.tree-row.active .ico svg{color:var(--accent)}.tree-row .twist{width:14px;color:var(--fg-4);flex:none;display:inline-flex}.tree-row .twist svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out)}.tree-row .ico{color:var(--fg-3);flex:none;display:inline-flex}.tree-row .ico svg{width:17px;height:17px}.tree-row .nm{text-overflow:ellipsis;overflow:hidden}.tree-children{border-left:1px solid var(--border-subtle);margin-left:22px;padding-left:10px}.tree-row.lvl1{padding-left:8px}.user-row{border-top:1px solid var(--border-subtle);align-items:center;gap:11px;padding:12px 14px 14px 16px;display:flex;position:relative}.user-av{border-radius:var(--radius-pill);color:#fff;width:34px;height:34px;font-size:14px;font-weight:var(--weight-semibold);background:#18181b;flex:none;place-items:center;display:grid}.user-meta{flex:1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg-1)}.user-mail{font-size:var(--text-xs);color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-row .iq{flex:none}.main{background:var(--bg-canvas);flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-app);flex:none;align-items:center;gap:10px;height:54px;padding:0 18px 0 14px;display:flex}.crumbs{flex:1;align-items:center;gap:7px;min-width:0;display:flex}.crumbs a,.crumbs span.c{font-size:var(--text-base);color:var(--fg-2);cursor:pointer;white-space:nowrap}.crumbs a:hover{color:var(--fg-1)}.crumbs .cur{color:var(--fg-1);font-weight:var(--weight-semibold);text-overflow:ellipsis;overflow:hidden}.crumbs .sep{color:var(--fg-4);display:inline-flex}.crumbs .sep svg{width:15px;height:15px}.saved{color:var(--success);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;margin-left:6px;display:inline-flex}.saved .dot{background:var(--success);border-radius:999px;width:7px;height:7px}.topbar .right{align-items:center;gap:2px;display:flex}.tabs{border-bottom:1px solid var(--border-subtle);background:var(--bg-app);flex:none;align-items:stretch;gap:2px;height:46px;padding:6px 8px 0;display:flex}.tab{max-width:220px;color:var(--fg-2);cursor:pointer;font-size:var(--text-sm);border-radius:9px 9px 0 0;align-items:center;gap:8px;padding:0 8px 0 12px;display:flex;position:relative;top:1px}.tab:hover{background:var(--bg-hover)}.tab.on{background:var(--bg-canvas);color:var(--fg-1);border:1px solid var(--border-subtle);border-bottom-color:var(--bg-canvas)}.tab .ti{color:var(--fg-3);flex:none;display:inline-flex}.tab.on .ti{color:var(--accent)}.tab .ti svg{width:15px;height:15px}.tab .tn{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tab .tx{color:var(--fg-4);border-radius:5px;padding:2px;display:inline-flex}.tab .tx:hover{background:var(--bg-active);color:var(--fg-1)}.tab .tx svg{width:13px;height:13px}.tab-add{width:30px;color:var(--fg-3);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.tab-add:hover{background:var(--bg-hover);color:var(--fg-1)}.tab-add svg{width:16px;height:16px}.view{flex:1;min-height:0;position:relative;overflow:auto}.empty{max-width:760px;padding:8% 56px 56px}.empty .glyph{background:var(--accent-soft);border-radius:16px;place-items:center;width:64px;height:64px;margin-bottom:30px;display:grid}.empty .glyph svg{width:30px;height:30px;color:var(--accent)}.empty .ey{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px;font-size:11px;font-weight:600}.empty h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--fg-1);margin:0 0 14px}.empty .sub{font-size:var(--text-md);color:var(--fg-2);margin:0 0 36px}.empty .opt{cursor:pointer;align-items:center;gap:18px;padding:14px 0;display:flex}.empty .opt .ot{background:var(--bg-surface-2);border:1px solid var(--border-subtle);width:52px;height:52px;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:13px;flex:none;place-items:center;display:grid}.empty .opt:hover .ot{border-color:var(--accent);background:var(--accent-soft)}.empty .opt .ot svg{width:22px;height:22px;color:var(--fg-1)}.empty .opt:hover .ot svg{color:var(--accent)}.empty .opt .oh{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg-1)}.empty .opt .od{font-size:var(--text-sm);color:var(--fg-3);margin-top:2px}.empty .divider{background:var(--border-subtle);height:1px;margin:22px 0 18px}.empty .hint{color:var(--fg-3);font-size:var(--text-sm);align-items:center;gap:10px;display:flex}.empty .hint svg{width:18px;height:18px}.kbd-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:300px;box-shadow:var(--shadow-sm);padding:22px 24px;position:absolute;top:46%;right:56px}.kbd-card .ttl{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin-bottom:16px;font-size:11px;font-weight:600}.kbd-card .kr{justify-content:space-between;align-items:center;padding:9px 0;display:flex}.kbd-card .kr .kl{font-size:var(--text-base);color:var(--fg-2)}.kbd-card .keys{gap:5px;display:flex}.k{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-2);background:var(--bg-surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:7px;place-items:center;min-width:26px;height:24px;padding:0 7px;display:inline-grid}.note-wrap{height:100%;display:flex}.note{flex:1;padding:56px 7% 120px;overflow-y:auto}.note .doc{max-width:880px;margin:0 auto}.note h1{font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--fg-1);margin:0 0 28px;line-height:1.1}.note h2{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--fg-1);margin:30px 0 14px}.note p{font-size:var(--text-md);color:var(--neutral-800);margin:0 0 16px;line-height:1.7}[data-theme=dark] .note p{color:var(--neutral-200)}.note a{color:var(--accent-fg);text-decoration:none}.note a:hover{text-decoration:underline}.note em{font-style:italic}.note ol{margin:0 0 16px;padding-left:26px}.note ol>li{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--fg-1);margin:16px 0 8px;line-height:1.5}.note ul{margin:6px 0 0;padding-left:6px;list-style:none}.note ul li{font-size:var(--text-md);font-weight:var(--weight-regular);color:var(--neutral-800);margin:8px 0;padding-left:22px;line-height:1.6;position:relative}[data-theme=dark] .note ul li{color:var(--neutral-200)}.note ul li:before{content:"";background:var(--fg-2);border-radius:999px;width:6px;height:6px;position:absolute;top:11px;left:4px}.minimap{flex:none;width:96px;padding:16px 14px;position:relative}.minimap .mm-lines{flex-direction:column;gap:6px;display:flex}.minimap .mm-lines i{background:var(--border);border-radius:2px;height:4px;display:block}.minimap .mm-view{background:var(--accent-soft);border:1px solid var(--violet-300);border-radius:6px;height:150px;position:absolute;top:12px;left:8px;right:8px}.canvas{background-color:var(--bg-canvas);background-image:radial-gradient(var(--grid-dot) 1.4px, transparent 1.4px);background-size:var(--grid-size) var(--grid-size);position:absolute;inset:0;overflow:hidden}.canvas svg.scene{width:100%;height:100%;position:absolute;inset:0}.style-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:268px;box-shadow:var(--shadow-md);font-size:var(--text-sm);z-index:5;padding:14px 16px 16px;position:absolute;top:18px;left:18px}.style-panel .sp-collapse{color:var(--fg-4);cursor:pointer;position:absolute;top:10px;right:10px}.style-panel .sp-collapse svg{width:16px;height:16px}.style-panel .sp-sect{letter-spacing:.09em;text-transform:uppercase;color:var(--fg-3);margin:6px 0 8px;font-size:10px;font-weight:600}.swatches{align-items:center;gap:8px;margin-bottom:14px;display:flex}.sw{border:1px solid var(--border);cursor:pointer;border-radius:7px;width:26px;height:26px;position:relative}.sw.on{box-shadow:0 0 0 2px var(--accent);border-color:#0000}.sw.none{background:var(--bg-surface)}.sw.none:after{content:"";background:linear-gradient(45deg, transparent 44%, var(--fg-4) 44%, var(--fg-4) 56%, transparent 56%);position:absolute;inset:4px}.sw.add{color:var(--fg-3);background:var(--bg-surface-2);place-items:center;display:grid}.sw.add svg{width:14px;height:14px}.sp-opts{gap:8px;margin-bottom:10px;display:flex}.sp-opt{border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;width:32px;height:30px;color:var(--fg-2);border-radius:8px;place-items:center;display:grid}.sp-opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sp-opt .ln{background:currentColor;border-radius:2px;width:16px}.sp-row{gap:8px;margin-bottom:10px;display:flex}.sp-row .sp-opt svg{width:16px;height:16px}.toolbar{background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);z-index:6;border-radius:14px;align-items:center;gap:2px;padding:6px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.toolbar .tdiv{background:var(--border);width:1px;height:22px;margin:0 4px}.tool{width:38px;height:38px;color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:10px;place-items:center;display:grid}.tool:hover{background:var(--bg-hover);color:var(--fg-1)}.tool.on{background:var(--accent-soft);color:var(--accent)}.tool svg{width:19px;height:19px}.canvas-wm{font-size:var(--text-sm);color:var(--fg-4);letter-spacing:var(--tracking-tight);z-index:4;position:absolute;bottom:26px;left:22px}.zoom{background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);z-index:6;border-radius:11px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:22px;right:22px}.zoom button{width:32px;height:30px;color:var(--fg-2);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.zoom button:hover{background:var(--bg-hover);color:var(--fg-1)}.zoom button svg{width:16px;height:16px}.zoom .pct{text-align:center;min-width:50px;font-size:var(--text-sm);color:var(--fg-2)}.kanban{min-height:100%;padding:22px 26px 40px}.kb-meta{font-size:var(--text-sm);color:var(--fg-3);margin-bottom:18px}.kb-board{align-items:flex-start;gap:22px;display:flex}.kb-col{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:312px;box-shadow:var(--shadow-xs);flex:none;padding:8px 12px 14px}.kb-col-head{cursor:grab;align-items:center;gap:8px;padding:6px 2px 12px;display:flex}.kb-col-head:active{cursor:grabbing}.kb-grip{color:var(--fg-4);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);flex:none;margin-left:-2px;display:inline-flex}.kb-col:hover .kb-grip{opacity:1}.kb-grip svg{width:15px;height:15px}.kb-dot{border-radius:999px;flex:none;width:9px;height:9px}.kb-col-head .kn{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg-1);flex:1}.kb-col-head .cnt{font-size:var(--text-sm);color:var(--fg-3);margin-right:4px}.kb-col-head .iq{width:24px;height:24px}.kb-col-head .iq svg{width:15px;height:15px}.kb-cards{flex-direction:column;gap:10px;display:flex}.kb-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--fg-1);word-break:break-word;cursor:grab;box-shadow:var(--shadow-sm);padding:14px 15px;line-height:1.55}.kb-card:active{cursor:grabbing}.kb-card:hover{border-color:var(--border-strong)}.kb-drop{border:1.5px dashed var(--border);border-radius:var(--radius-md);text-align:center;color:var(--fg-3);font-size:var(--text-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;padding:13px;display:flex}.kb-drop:hover{border-color:var(--accent);color:var(--accent)}.kb-drop svg{width:15px;height:15px}.kb-addcol{border:1.5px dashed var(--border);border-radius:var(--radius-md);width:200px;color:var(--fg-3);font-size:var(--text-base);cursor:pointer;flex:none;justify-content:center;align-items:center;gap:8px;margin-top:30px;padding:16px;display:flex}.kb-addcol:hover{border-color:var(--accent);color:var(--accent)}.kb-addcol svg{width:17px;height:17px}
.ek-landing *{box-sizing:border-box}.ek-landing{background:var(--bg-app);color:var(--fg-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}.ek-landing a{color:inherit;text-decoration:none}.ek-landing .wrap{width:min(1180px,92vw);margin:0 auto}.ek-landing .grid-bg{z-index:0;pointer-events:none;background-image:radial-gradient(var(--grid-dot) 1.2px, transparent 1.2px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,#0000 72%);mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,#0000 72%)}.ek-landing .btn{border-radius:var(--radius-sm);height:40px;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.ek-landing .btn:active{transform:scale(.98)}.ek-landing .btn svg{width:16px;height:16px}.ek-landing .btn-primary{background:var(--accent);color:#fff}.ek-landing .btn-primary:hover{background:var(--accent-hover)}.ek-landing .btn-secondary{background:var(--bg-surface);color:var(--fg-1);border-color:var(--border)}.ek-landing .btn-secondary:hover{background:var(--bg-hover)}.ek-landing .btn-lg{height:50px;font-size:var(--text-base);border-radius:var(--radius-md);padding:0 26px}.ek-landing .btn-ghost{color:var(--fg-2);background:0 0}.ek-landing .btn-ghost:hover{color:var(--fg-1);background:var(--bg-hover)}.ek-landing .nav{z-index:50;background:color-mix(in srgb, var(--bg-app) 82%, transparent);-webkit-backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--border-subtle);height:64px;position:sticky;top:0}.ek-landing .nav .wrap{align-items:center;gap:28px;height:100%;display:flex}.ek-landing .brand{font-weight:var(--weight-semibold);font-size:var(--text-md);letter-spacing:var(--tracking-tight);align-items:center;gap:9px;display:flex}.ek-landing .brand .bm{background:var(--accent);border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.ek-landing .brand .bm svg{color:#fff;width:16px;height:16px}.ek-landing .nav-links{gap:22px;margin-left:8px;display:flex}.ek-landing .nav-links a{font-size:var(--text-sm);color:var(--fg-2)}.ek-landing .nav-links a:hover{color:var(--fg-1)}.ek-landing .nav-right{align-items:center;gap:10px;margin-left:auto;display:flex}.ek-landing .iconbtn{border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--fg-2);cursor:pointer;place-items:center;display:grid}.ek-landing .iconbtn:hover{background:var(--bg-hover);color:var(--fg-1)}.ek-landing .iconbtn svg{width:17px;height:17px}.ek-landing .iconbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}.ek-landing .hero{text-align:center;padding:92px 0 40px;position:relative}.ek-landing .hero .wrap{z-index:1;position:relative}.ek-landing .eyebrow{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);height:30px;font-size:var(--text-xs);color:var(--fg-2);box-shadow:var(--shadow-xs);align-items:center;gap:8px;margin-bottom:26px;padding:0 14px;display:inline-flex}.ek-landing .eyebrow .pip{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:999px}.ek-landing h1.hh{font-size:clamp(40px,6.4vw,72px);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tighter);max-width:14ch;color:var(--fg-1);margin:0 auto 22px;line-height:1.04}.ek-landing h1.hh .em{color:var(--accent);font-style:italic}.ek-landing .hero .sub{font-size:var(--text-lg);color:var(--fg-2);max-width:56ch;margin:0 auto 30px;line-height:1.5}.ek-landing .hero-cta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.ek-landing .hero-note{font-size:var(--text-sm);color:var(--fg-3);margin-top:18px}.ek-landing .mock{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-canvas);width:100%;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.ek-landing .mock.bar{padding-top:38px}.ek-landing .mock .titlebar{z-index:3;background:var(--bg-app);border-bottom:1px solid var(--border-subtle);align-items:center;gap:7px;height:38px;padding:0 14px;display:flex;position:absolute;top:0;left:0;right:0}.ek-landing .mock .titlebar .dot{border-radius:999px;width:11px;height:11px}.ek-landing .mock .titlebar .d1{background:#ff5f57}.ek-landing .mock .titlebar .d2{background:#febc2e}.ek-landing .mock .titlebar .d3{background:#28c840}.ek-landing .mock .titlebar .url{font-size:var(--text-xs);color:var(--fg-3);font-family:var(--font-mono);background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:999px;margin:0 auto;padding:3px 14px}.ek-landing .mock-ph{aspect-ratio:16/9;background:radial-gradient(var(--grid-dot) 1.2px, transparent 1.2px) 0 0 / var(--grid-size) var(--grid-size), var(--bg-canvas);place-items:center;gap:12px;width:100%;display:grid;position:relative}.ek-landing .mock-ph .ph-icon{background:var(--accent-soft);border-radius:14px;place-items:center;width:56px;height:56px;display:grid}.ek-landing .mock-ph .ph-icon svg{width:28px;height:28px;color:var(--accent)}.ek-landing .mock-ph .ph-label{font-size:var(--text-sm);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:var(--tracking-wide)}.ek-landing .hero-mock{width:min(1120px,94vw);margin:56px auto 0}.ek-landing .hero-mock .mock{box-shadow:var(--shadow-pop)}.ek-landing .band{padding:104px 0;position:relative}.ek-landing .band.alt{background:var(--bg-surface-2);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.ek-landing .lead{text-align:center;max-width:720px;margin:0 auto 56px}.ek-landing .k{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--accent-fg);margin-bottom:14px}.ek-landing .band h2{font-size:clamp(30px,4vw,46px);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);margin:0 0 16px;line-height:1.1}.ek-landing .band .lead p{font-size:var(--text-md);color:var(--fg-2);margin:0;line-height:1.6}.ek-landing .feat-row{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:56px;margin-bottom:110px;display:grid}.ek-landing .feat-row:last-child{margin-bottom:0}.ek-landing .feat-row.flip{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.ek-landing .feat-row.flip .ftext{order:2}.ek-landing .feat-row.flip .fvis{order:1}.ek-landing .ftext .tag{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--accent-fg);align-items:center;gap:8px;margin-bottom:16px;display:inline-flex}.ek-landing .ftext .tag .ti{background:var(--accent-soft);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.ek-landing .ftext .tag .ti svg{width:16px;height:16px;color:var(--accent)}.ek-landing .ftext h3{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);margin:0 0 14px;line-height:1.12}.ek-landing .ftext p{font-size:var(--text-md);color:var(--fg-2);margin:0 0 18px;line-height:1.65}.ek-landing .ftext .pts{flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.ek-landing .ftext .pts li{font-size:var(--text-base);color:var(--fg-2);align-items:flex-start;gap:10px;list-style:none;display:flex}.ek-landing .ftext .pts li svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:1px}.ek-landing .fvis .mock{box-shadow:var(--shadow-lg)}.ek-landing .tri{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.ek-landing .qc{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:26px}.ek-landing .qc .qi{background:var(--accent-soft);border-radius:11px;place-items:center;width:42px;height:42px;margin-bottom:18px;display:grid}.ek-landing .qc .qi svg{width:21px;height:21px;color:var(--accent)}.ek-landing .qc h4{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:0 0 8px}.ek-landing .qc p{font-size:var(--text-sm);color:var(--fg-2);margin:0;line-height:1.6}.ek-landing .cmp{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.ek-landing .cmp .col{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:24px}.ek-landing .cmp .name{font-weight:var(--weight-semibold);font-size:var(--text-base);align-items:center;gap:9px;margin-bottom:12px;display:flex}.ek-landing .cmp .name svg{width:17px;height:17px;color:var(--fg-3)}.ek-landing .cmp .gap{font-size:var(--text-sm);color:var(--fg-2);margin:0;line-height:1.6}.ek-landing .cmp-arrow{text-align:center;font-size:var(--text-sm);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);margin:26px 0}.ek-landing .solve{background:var(--accent-soft);border:1px solid var(--accent-soft-2);border-radius:var(--radius-lg);align-items:flex-start;gap:20px;padding:30px 32px;display:flex}.ek-landing .solve .si{background:var(--accent);border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid}.ek-landing .solve .si svg{color:#fff;width:24px;height:24px}.ek-landing .solve h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--fg-1);margin:2px 0 8px}.ek-landing .solve p{font-size:var(--text-base);color:var(--accent-fg);margin:0;line-height:1.6}.ek-landing .collab{text-align:center}.ek-landing .collab .pill{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent-fg);background:var(--accent-soft);border-radius:var(--radius-pill);align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px;font-weight:600;display:inline-flex}.ek-landing .collab .soon-note{font-size:var(--text-sm);color:var(--fg-3);align-items:center;gap:8px;margin-top:22px;display:inline-flex}.ek-landing .collab .soon-note svg{width:15px;height:15px}.ek-landing .cta{text-align:center;padding:120px 0}.ek-landing .cta h2{font-size:clamp(34px,5vw,56px);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tighter);margin:0 0 16px}.ek-landing .cta p{font-size:var(--text-lg);color:var(--fg-2);margin:0 0 30px}.ek-landing footer{border-top:1px solid var(--border-subtle);background:var(--bg-app);padding:40px 0}.ek-landing footer .wrap{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.ek-landing footer .copy{font-size:var(--text-sm);color:var(--fg-3)}.ek-landing footer .fl{gap:20px;margin-left:auto;display:flex}.ek-landing footer .fl a{font-size:var(--text-sm);color:var(--fg-2)}.ek-landing footer .fl a:hover{color:var(--fg-1)}@media (max-width:1024px){.ek-landing .band{padding:84px 0}.ek-landing .feat-row{gap:40px;margin-bottom:84px}.ek-landing .cta{padding:96px 0}.ek-landing .hero{padding:72px 0 32px}}@media (max-width:880px){.ek-landing .feat-row,.ek-landing .feat-row.flip{grid-template-columns:minmax(0,1fr);gap:26px;margin-bottom:64px}.ek-landing .feat-row.flip .ftext{order:1}.ek-landing .feat-row.flip .fvis{order:2}.ek-landing .tri,.ek-landing .cmp{grid-template-columns:minmax(0,1fr)}.ek-landing .nav-links{display:none}.ek-landing .band{padding:64px 0}.ek-landing .hero-mock{margin-top:40px}.ek-landing .ftext{max-width:620px}.ek-landing .fvis .ek-live-frame{height:400px}}@media (max-width:600px){.ek-landing .nav{height:58px}.ek-landing .nav .wrap{gap:12px}.ek-landing .nav-right{gap:7px}.ek-landing .nav-right .btn-ghost{display:none}.ek-landing .hero{padding:48px 0 24px}.ek-landing h1.hh{letter-spacing:var(--tracking-tight)}.ek-landing .hero .sub{font-size:var(--text-md)}.ek-landing .btn-lg{height:46px;font-size:var(--text-sm);padding:0 20px}.ek-landing .hero-cta{flex-direction:column;align-items:stretch}.ek-landing .hero-cta .btn{justify-content:center}.ek-landing .band{padding:52px 0}.ek-landing .lead{margin-bottom:36px}.ek-landing .cta{padding:72px 0}.ek-landing .solve{flex-direction:column;gap:14px;padding:24px}.ek-landing .mock.bar{padding-top:30px}.ek-landing .mock .titlebar{height:30px}.ek-landing footer .wrap{flex-direction:column;align-items:flex-start;gap:12px}.ek-landing footer .fl{flex-wrap:wrap;margin-left:0}.ek-landing .ek-live-frame{height:300px;max-height:56vh}.ek-landing .fvis .ek-live-frame{height:260px}.ek-landing .ek-live-bar{height:30px}.ek-landing .ek-live-bar .dot{width:9px;height:9px}.ek-landing .hero-mock{margin-top:24px}.ek-landing .feat-row{gap:18px;margin-bottom:44px}}@media (max-width:360px){.ek-landing .nav-right .iconbtn:first-child{display:none}}.ek-landing .hero-mock .live-frame{border:1px solid var(--border);background:var(--bg-surface);height:620px;max-height:80vh;box-shadow:var(--shadow-pop);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.ek-landing .live-titlebar{border-bottom:1px solid var(--border);background:var(--bg-app);flex:none;align-items:center;gap:7px;height:38px;padding:0 13px;display:flex}.ek-landing .live-titlebar .dot{border-radius:var(--radius-pill);width:11px;height:11px}.ek-landing .live-titlebar .d1{background:#ff5f57}.ek-landing .live-titlebar .d2{background:#febc2e}.ek-landing .live-titlebar .d3{background:#28c840}.ek-landing .live-titlebar .url{color:var(--fg-4);font-family:var(--font-mono);margin-left:10px;font-size:12px}.ek-landing .live-tabs{border-bottom:1px solid var(--border);background:var(--bg-app);scrollbar-width:none;flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex;overflow-x:auto}.ek-landing .live-tabs::-webkit-scrollbar{display:none}.ek-landing .live-tab{color:var(--fg-3);cursor:pointer;font-family:var(--font-sans);white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.ek-landing .live-tab:hover{background:var(--bg-hover);color:var(--fg-1)}.ek-landing .live-tab.on{background:var(--bg-surface);color:var(--fg-1);box-shadow:var(--shadow-xs);font-weight:500}.ek-landing .live-view{background:var(--bg-canvas);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.ek-landing .live-note-scroll{flex:1;min-height:0;overflow-y:auto}.ek-landing .live-note{padding:20px 24px 40px}.ek-landing .live-kanban-host{flex-direction:column;flex:1;min-height:0;display:flex}.ek-landing .ek-live-frame{text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);height:640px;max-height:84vh;box-shadow:var(--shadow-pop);flex-direction:column;display:flex;overflow:clip}.ek-landing .fvis .ek-live-frame{height:470px;box-shadow:var(--shadow-lg)}.ek-landing .ek-live-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-app);flex:none;align-items:center;gap:7px;height:38px;padding:0 14px;display:flex}.ek-landing .ek-live-bar .dot{border-radius:var(--radius-pill);width:11px;height:11px}.ek-landing .ek-live-bar .d1{background:#ff5f57}.ek-landing .ek-live-bar .d2{background:#febc2e}.ek-landing .ek-live-bar .d3{background:#28c840}.ek-landing .ek-live-bar .url{font-size:var(--text-xs);color:var(--fg-3);font-family:var(--font-mono);background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:999px;margin:0 auto;padding:3px 14px}.ek-landing .ek-live-body{flex:1;min-height:0;position:relative;overflow:clip}.ek-landing .ek-live-body .app{grid-template-rows:minmax(0,1fr);height:100%}.ek-landing .ek-live-body .main{min-height:0}.ek-landing .ek-live-body .ek-app{position:absolute;inset:0}.ek-landing .ek-live-body .ek-main{min-height:0}.ek-landing .ek-live-host{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.ek-landing .ek-live-note-host{background:var(--bg-canvas)}.ek-landing .ek-live-note-scroll{flex:1;min-height:0;overflow-y:auto}.ek-landing .ek-live-search-input{min-width:0;color:var(--fg-2);font-family:var(--font-sans);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1}.ek-landing .ek-live-search-input::placeholder{color:var(--fg-3)}.ek-landing .ek-live-note-host .workspace-editor{max-width:720px;margin-left:0;margin-right:auto;font-size:12.5px}.ek-landing .ek-live-note-host .ProseMirror h1{font-size:1.35rem}.ek-landing .ek-live-note-host .ProseMirror h2{font-size:1.12rem}.ek-landing .ek-live-note-host .ProseMirror h3{font-size:1rem}.ek-landing .ek-live-body .app,.ek-landing .ek-live-body .ek-app{font-size:12px}.ek-live-poster{background:var(--bg-canvas);flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.ek-poster-grid{background-image:radial-gradient(var(--grid-dot) 1.2px, transparent 1.2px);background-size:var(--grid-size) var(--grid-size);pointer-events:none;position:absolute;inset:0}.ek-poster-center{z-index:1;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.ek-poster-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.ek-poster-label{font-size:var(--text-sm);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:var(--tracking-wide)}.ek-poster-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);height:40px;color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 20px;display:inline-flex}.ek-poster-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.ek-poster-btn svg{flex:none}.ek-landing .pain-band{background:var(--bg-app);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.ek-landing .pain-inner{text-align:center;max-width:640px;margin:0 auto}.ek-landing .pain-hook{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--fg-1);margin:0 0 20px;line-height:1.2}.ek-landing .pain-story{font-size:var(--text-md);color:var(--fg-2);margin:0;line-height:1.85}@media (min-width:1900px){.ek-landing .wrap{width:min(1720px,90vw)}.ek-landing .hero-mock{width:min(1640px,92vw)}.ek-landing .fvis .ek-live-frame{height:560px}}@media (min-width:2500px){.ek-landing .wrap{width:min(2160px,90vw)}.ek-landing .hero-mock{width:min(2040px,92vw)}.ek-landing .hero-mock .ek-live-frame{height:760px}.ek-landing .fvis .ek-live-frame{height:620px}}
