:root{--bg: #f6f5f2;--canvas: #f7f6f3;--dot: #d9d6cf;--surface: #ffffff;--surface-2: #f3f2ee;--line: #e6e3dc;--line-2: #d6d2c9;--text: #1f2330;--text-2: #5c6170;--text-3: #8d91a0;--accent: #262a33;--accent-2: #111318;--accent-soft: #eceef1;--sel: #4f6fd1;--sel-soft: rgba(79, 111, 209, .1);--coral: #ff7a59;--green: #2a9d4b;--red: #e5484d;--amber: #e39a00;--shadow-sm: 0 1px 2px rgba(31, 35, 48, .06), 0 1px 1px rgba(31, 35, 48, .04);--shadow: 0 4px 14px rgba(31, 35, 48, .08), 0 1px 3px rgba(31, 35, 48, .06);--shadow-lg: 0 18px 50px rgba(31, 35, 48, .16), 0 3px 10px rgba(31, 35, 48, .08);--r: 12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}kbd{font:500 11px/1 Inter,sans-serif;background:var(--surface-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:3px 6px;color:var(--text-2);white-space:nowrap}.muted{color:var(--text-3)}.hint{color:var(--text-2);font-size:13px;background:var(--surface-2);border-radius:8px;padding:10px 12px;line-height:1.45}.row{display:flex;align-items:center}.gap{gap:8px}.spacer{flex:1}.pad{padding:16px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-2)}.center-screen.small{height:200px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;font-weight:550;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:background .12s,border-color .12s,transform .06s;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 2px #11131840}.btn.primary:hover{background:var(--accent-2)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover{background:#1f23300f}.btn.sm{height:30px;padding:0 10px;font-size:13px;border-radius:8px}.btn.big{height:46px;font-size:15px;width:100%;margin-top:18px}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--text-2);transition:background .12s,color .12s;flex-shrink:0}.icon-btn:hover:not(:disabled){background:#1f233012;color:var(--text)}.icon-btn.active{background:var(--accent-soft);color:var(--accent)}.icon-btn.xs{width:22px;height:22px;border-radius:6px}.icon-btn.txt-btn{font-weight:650;font-size:12.5px;width:auto;padding:0 7px}.input{width:100%;height:40px;border:1px solid var(--line-2);border-radius:10px;padding:0 12px;background:var(--surface);outline:none;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--text-2);box-shadow:0 0 0 3px var(--accent-soft)}.input.mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.field-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-2);margin:14px 0 6px}.chip{height:28px;padding:0 10px;border-radius:99px;border:1px solid var(--line);font-size:12.5px;font-weight:550;background:var(--surface)}.chip.on{background:#fdecec;border-color:#f4b4b6;color:var(--red)}.pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:99px;font-size:11.5px;font-weight:650;white-space:nowrap}.pill.st-todo{background:#eef0f5;color:#555b6e}.pill.st-doing{background:#f4ecda;color:#8a6a24}.pill.st-done{background:#e3eee2;color:#3f7149}.seg{display:flex;align-items:center;gap:2px}.sep{width:1px;height:22px;background:var(--line);margin:0 4px;flex-shrink:0}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:650;flex-shrink:0;border:2px solid var(--surface);letter-spacing:-.02em}.avatar.xs{width:22px;height:22px;font-size:9.5px;border-width:1.5px}.avatar.sm{width:30px;height:30px;font-size:11.5px}.avatar.md{width:40px;height:40px;font-size:14px}.avatar.empty{background:#e2e3ea;color:var(--text-3)}.avatar.clickable{cursor:pointer;transition:transform .12s}.avatar.clickable:hover{transform:translateY(-2px)}.avatar.ring{box-shadow:0 0 0 2px var(--surface),0 0 0 4px currentColor;outline:2px solid var(--accent);outline-offset:2px}.stack{display:flex}.stack .avatar+.avatar{margin-left:-6px}.login{height:100%;display:grid;grid-template-columns:1.1fr 1fr;background:var(--surface)}.login-art{position:relative;overflow:hidden;background:#f1efe9;background-image:radial-gradient(var(--dot) 1.2px,transparent 1.2px);background-size:22px 22px}.blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.9}.blob.a{width:340px;height:340px;background:#ece3dc;left:12%;top:18%}.blob.b{width:300px;height:300px;background:#e4e3ea;left:38%;top:38%;mix-blend-mode:multiply}.blob.c{width:180px;height:180px;background:#e1e8df;left:20%;top:62%;mix-blend-mode:multiply}.fake-note{position:absolute;width:170px;height:130px;padding:16px;border-radius:6px;box-shadow:var(--shadow);font-weight:550;font-size:15px}.fake-note.n1{background:#faf2d3;left:18%;top:16%;transform:rotate(-4deg)}.fake-note.n2{background:#e3e9f2;left:52%;top:30%;transform:rotate(3deg)}.fake-note.n3{background:#f2e4ea;left:30%;top:58%;transform:rotate(-2deg)}.login-card{align-self:center;justify-self:center;width:min(380px,90vw)}.login-card h1{font-size:34px;margin:14px 0 6px;letter-spacing:-.03em}.login-card p{line-height:1.5;margin:0 0 8px}.color-pick{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.color-pick button{width:28px;height:28px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.color-pick button.on{box-shadow:0 0 0 2px var(--text)}.color-pick .avatar{margin-left:auto}@media (max-width: 800px){.login{grid-template-columns:1fr}.login-art{display:none}}.home{height:100%;overflow:auto}.home-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:12px 28px;background:#f6f5f2d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:-.02em}.home-search{flex:1;max-width:420px;margin:0 auto;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--text-3)}.home-search input{border:0;outline:0;flex:1;background:none;color:var(--text)}.home-main{max-width:1180px;margin:0 auto;padding:36px 28px 80px}.home-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}.home-title h1{margin:0 0 6px;font-size:30px;letter-spacing:-.03em}.home-title p{margin:0}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.project-card{display:flex;flex-direction:column;gap:6px;min-height:176px;padding:18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s,border-color .15s;text-align:left}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-2)}.project-card.new{align-items:center;justify-content:center;text-align:center;border:1.5px dashed var(--line-2);background:transparent;box-shadow:none;color:var(--text-2)}.project-card.new span{font-size:12.5px;color:var(--text-3)}.pc-top{display:flex;justify-content:space-between;align-items:flex-start}.pc-emoji{font-size:26px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:12px}.live-dot{font-size:11.5px;font-weight:600;color:var(--green);display:flex;align-items:center;gap:5px}.live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #dcf5e3}.pc-name{font-size:16px;margin-top:8px;letter-spacing:-.01em}.pc-meta{color:var(--text-3);font-size:12.5px}.pc-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:12px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#181a2452;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;animation:fade .12s}@keyframes fade{0%{opacity:0}}.modal{width:min(540px,100%);background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);padding:20px 22px 18px;animation:pop .16s cubic-bezier(.2,.9,.3,1.2);max-height:82vh;overflow:auto}.modal.small{width:min(420px,100%)}.modal.wide{width:min(720px,100%)}@keyframes pop{0%{transform:translateY(8px) scale(.98);opacity:0}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.modal-head h2{font-size:18px;margin:0;letter-spacing:-.02em}.modal p{line-height:1.5;margin:4px 0 12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.emoji-pick{display:flex;gap:4px;flex-wrap:wrap}.emoji-pick button{width:38px;height:38px;font-size:19px;border-radius:10px}.emoji-pick button:hover{background:var(--surface-2)}.emoji-pick button.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.templates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tpl{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px;border-radius:12px;border:1.5px solid var(--line);color:var(--text-2)}.tpl b{color:var(--text);font-size:13.5px;margin-top:4px}.tpl span{font-size:12px;line-height:1.35}.tpl.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}@media (max-width: 560px){.templates{grid-template-columns:1fr}}.members{display:flex;flex-direction:column;gap:4px}.member{display:flex;align-items:center;gap:10px;padding:6px 4px}.member b{flex:1;font-weight:550}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin:10px 0 14px}.help-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--surface-2)}.help-row kbd{min-width:108px;text-align:center}@media (max-width: 600px){.help-grid{grid-template-columns:1fr}}.search-box{width:min(620px,100%);background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .14s}.search-input{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;border-bottom:1px solid var(--line);color:var(--text-3)}.search-input input{flex:1;border:0;outline:0;font-size:16px;color:var(--text);background:none}.search-results{max-height:52vh;overflow:auto;padding:6px}.sr{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;text-align:left}.sr.on{background:var(--accent-soft)}.sr-icon{color:var(--text-3);display:flex}.sr-title{flex:1;font-weight:550;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sr-ctx{font-size:12px;color:var(--text-3);white-space:nowrap}.shell{height:100%;display:grid;grid-template-columns:264px 1fr}.shell.no-sidebar{grid-template-columns:1fr}.shell.with-panel{grid-template-columns:264px 1fr 340px}.shell.no-sidebar.with-panel{grid-template-columns:1fr 340px}.sidebar{display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);min-width:0}.side-head{display:flex;align-items:center;gap:6px;padding:10px 8px 8px 10px}.side-emoji{font-size:18px}.side-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;letter-spacing:-.01em}.side-search{margin:2px 10px 6px;display:flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 10px;border-radius:9px;background:var(--surface-2);color:var(--text-3);font-size:13px}.side-search kbd{margin-left:auto}.side-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:12px 14px 6px}.tree{flex:1;overflow:auto;padding:0 6px 12px}.tree-row{position:relative;display:flex;align-items:center;gap:4px;height:32px;padding-right:6px;border-radius:8px;cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none}.tree-row:hover{background:var(--surface-2);color:var(--text)}.tree-row.current{background:var(--accent-soft);color:var(--text);font-weight:650}.tree-row.drop{box-shadow:inset 0 0 0 2px var(--sel)}.twisty{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:5px;color:var(--text-3);flex-shrink:0}.twisty:hover{background:#1f233014}.tree-icon{flex-shrink:0;opacity:.8}.tree-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px}.tree-input{flex:1;min-width:0;height:24px;border:1px solid var(--accent);border-radius:6px;padding:0 6px;outline:none;font-size:13px}.tree-people{display:flex;gap:2px}.tree-people i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px var(--surface)}.tree-actions{display:none;gap:1px}.tree-row:hover .tree-actions{display:flex}.tree-row:hover .tree-people{display:none}.side-foot{display:flex;justify-content:space-between;padding:8px;border-top:1px solid var(--line)}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:52px;display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--line);min-width:0}.crumbs{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.crumb{display:flex;align-items:center;gap:2px;min-width:0}.crumb-link{padding:4px 6px;border-radius:6px;color:var(--text-3);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.crumb-link:hover{background:var(--surface-2);color:var(--text)}.crumb-cur{display:flex;align-items:center;gap:7px;padding:4px 8px;border-radius:7px;font-weight:650;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb-cur:hover{background:var(--surface-2)}.crumb-cur .pen{opacity:0;color:var(--text-3)}.crumb-cur:hover .pen{opacity:1}.sync{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-3);padding:0 8px;white-space:nowrap}.sync.offline{color:var(--red)}.sync.saved svg{color:var(--green)}.presence{display:flex;align-items:center;gap:2px;margin-right:6px}.presence .away .avatar{opacity:.45;filter:grayscale(.4)}.panel-tabs{margin-left:4px;padding-left:6px;border-left:1px solid var(--line)}.stage{flex:1;position:relative;min-height:0;overflow:clip;container-type:size}.panel{display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);min-width:0;min-height:0}.panel-head{display:flex;align-items:center;gap:6px;padding:12px 10px 8px 16px}.panel-head h3{margin:0;flex:1;font-size:15px;letter-spacing:-.01em}.panel-scroll{flex:1;overflow:auto;min-height:0}.act{width:100%;display:flex;gap:10px;padding:9px 16px;text-align:left;line-height:1.4;font-size:13px}.act:hover{background:var(--surface-2)}.act em{color:var(--text-3);font-style:normal}.act small{display:block;color:var(--text-3);font-size:11.5px;margin-top:1px}.task-filters{display:flex;gap:8px;padding:0 14px 10px;border-bottom:1px solid var(--line)}.task-filters select{flex:1;height:28px;border:1px solid var(--line);border-radius:8px;padding:0 6px;background:var(--surface);font-size:12.5px}.tlist{padding:8px;display:flex;flex-direction:column;gap:6px}.tcard{display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.tcard.st-done b{text-decoration:line-through;color:var(--text-3)}.tcard-body{flex:1;min-width:0;text-align:left}.tcard-body b{display:block;font-weight:600;font-size:13.5px;margin-bottom:5px;overflow-wrap:anywhere}.tcard-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text-2)}.late{color:var(--red)!important;font-weight:600}.kanban{display:flex;flex-direction:column;gap:10px;padding:8px}.kcol{background:var(--surface-2);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:64px}.khead{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 4px;font-size:12px}.kcol .tcard{cursor:grab}.trash-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:9px 16px;font-size:13px;border-bottom:1px solid var(--surface-2)}.trash-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}.trash-row small{display:block;color:var(--text-3);font-size:11.5px}@media (max-width: 1100px){.shell.with-panel{grid-template-columns:1fr 320px}.shell.with-panel .sidebar{display:none}}@media (max-width: 760px){.shell,.shell.with-panel,.shell.no-sidebar.with-panel{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);z-index:60;box-shadow:var(--shadow-lg)}.panel{position:fixed;inset:52px 0 0 auto;width:min(360px,100vw);z-index:60;box-shadow:var(--shadow-lg)}.presence,.sync,.crumb-link,.crumb>svg{display:none}}.viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:clip;background-color:var(--canvas);background-image:radial-gradient(circle,var(--dot) 1.1px,transparent 1.2px);touch-action:none;user-select:none;-webkit-user-select:none}.world{position:absolute;left:0;top:0;transform-origin:0 0}.obj{position:absolute}.obj.locked{cursor:not-allowed}.txt{width:100%;height:100%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.38;overflow:hidden}.txt.empty{color:#1f233061}.txt.center,.edit.center{display:flex;align-items:center;justify-content:center;text-align:center}.edit{width:100%;height:100%;border:0;outline:0;resize:none;background:transparent;padding:0;margin:0;line-height:1.38;overflow:hidden;color:inherit;font:inherit;user-select:text;-webkit-user-select:text}.note{width:100%;height:100%;padding:16px 16px 14px;border-radius:4px 4px 14px;box-shadow:0 1px 1px #0000000d,0 5px 12px -5px #28281e29;font-weight:500;transition:box-shadow .15s}.selected>.note{box-shadow:0 1px 1px #0000000d,0 14px 26px -8px #3c321447}.textbox{width:100%;height:100%}.textbox .txt{height:auto;overflow:visible}.textbox .edit{overflow:hidden;font-weight:inherit;font-style:inherit}.textbox.box-outline,.textbox.box-fill{padding:14px 16px;border-radius:10px}.textbox.box-outline{border:1.5px solid var(--line-2);box-shadow:var(--shadow-sm)}.textbox.box-fill{box-shadow:var(--shadow-sm)}.shape{position:relative;width:100%;height:100%}.shape svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.shape .txt,.shape .edit{position:absolute;top:0;right:0;bottom:0;left:0;padding:10px 14px;font-weight:600}.shape .edit{text-align:center;padding-top:calc(50% - 1em)}.image{width:100%;height:100%;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:#eee}.image img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.image-missing{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-3)}.link{width:100%;height:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.link-icon{width:40px;height:40px;border-radius:10px;background:var(--surface-2);color:var(--text-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.link-body{flex:1;min-width:0}.link-title{font-weight:600;height:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-title.empty{color:var(--text)}.link .edit{height:22px}.link-host{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link a{color:var(--text-3);padding:6px;border-radius:6px;display:flex}.link a:hover{background:var(--surface-2);color:var(--accent)}.folder{position:relative;width:100%;height:100%;filter:drop-shadow(0 3px 6px rgba(30,30,30,.1));cursor:pointer}.folder-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.folder-shape path{fill:var(--c);stroke:color-mix(in srgb,var(--d) 30%,#ddd);stroke-width:1.2;vector-effect:non-scaling-stroke}.folder-body{position:absolute;top:22px;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:14px 16px;gap:4px;color:var(--text-2)}.folder-title{font-weight:700;font-size:16px;color:var(--text);height:auto;max-height:2.8em;letter-spacing:-.01em}.folder .edit{height:2.6em;font-weight:700;font-size:16px;color:var(--text)}.folder-hint{font-size:11px;color:var(--text-3);opacity:0;transition:opacity .15s}.obj:hover .folder-hint{opacity:1}.node{position:relative;width:100%;height:100%;border-radius:999px;background:var(--c);border:1.5px solid color-mix(in srgb,var(--d) 45%,#fff);display:flex;align-items:center;justify-content:center;padding:0 22px;font-weight:650;font-size:15px;box-shadow:var(--shadow-sm)}.node.root{font-size:19px;background:#262a33;border-color:#262a33;color:#fff;letter-spacing:-.01em}.node.root .txt.empty{color:#fff9}.node .edit{text-align:center;height:1.4em}.node-open{position:absolute;right:-8px;top:-8px;width:24px;height:24px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line-2);color:var(--text-2);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,transform .12s;box-shadow:var(--shadow-sm)}.obj:hover .node-open,.selected .node-open{opacity:1}.node-open:hover{transform:scale(1.12)}.t-draw{pointer-events:none}.draw{overflow:visible;display:block}.draw.hl path,.live-stroke.hl path{opacity:.4}.t-draw:has(>.draw.hl),.live-stroke.hl{mix-blend-mode:multiply}.hit-fill{pointer-events:visiblePainted;cursor:pointer}.tool-eraser .hit-fill,.tool-pen .hit-fill{cursor:inherit}.arrow{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.arrow .hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}.arrow .halo{fill:none;stroke:var(--sel);stroke-opacity:.22;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.arrow-label-wrap{display:flex;justify-content:center;align-items:center;height:36px;pointer-events:auto}.arrow-label{background:var(--canvas);padding:3px 8px;border-radius:6px;font-size:13px;font-weight:550;color:var(--text-2);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}textarea.arrow-label{width:160px;height:26px;text-align:center;background:var(--surface);box-shadow:0 0 0 2px var(--sel)}.frame{width:100%;height:100%;background:#fff;border-radius:10px;box-shadow:0 0 0 1px var(--line-2),var(--shadow);overflow:hidden}.frame.mobile{border-radius:30px;box-shadow:0 0 0 6px #23262f,0 0 0 7px #4a4e5c,var(--shadow-lg)}.frame-bar{height:32px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#f1f1f4;border-bottom:1px solid var(--line);font-size:12px;color:var(--text-3)}.frame-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.frame-bar i:nth-child(2){background:#febc2e}.frame-bar i:nth-child(3){background:#28c840}.frame.mobile .frame-bar{background:#fff;border:0;justify-content:center;position:relative}.notch{position:absolute;top:6px;left:50%;transform:translate(-50%);width:92px;height:20px;border-radius:12px;background:#23262f}.frame-title{flex:1;text-align:center;height:auto;font-weight:550;margin-right:46px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frame.mobile .frame-title{display:none}.frame .edit{height:18px;text-align:center}.wf{width:100%;height:100%;color:#6c7183;font-size:13px}.wf-nav{display:flex;align-items:center;gap:14px;padding:0 14px;border-radius:8px;background:#f3f4f7;border:1.5px solid #dfe1e8;font-weight:550}.wf-logo{width:26px;height:26px;border-radius:7px;background:#c9ccd6;flex-shrink:0}.wf-nav .txt,.wf-nav .edit{display:flex;align-items:center;white-space:pre;overflow:hidden;height:auto}.wf-heading{font-size:28px;font-weight:750;color:#2b2f3b;letter-spacing:-.02em;line-height:1.15}.wf-heading .txt,.wf-heading .edit{line-height:1.15}.wf-button{display:flex;align-items:center;justify-content:center;background:#2b2f3b;color:#fff;border-radius:10px;font-weight:600}.wf-button .txt,.wf-button .edit{display:flex;align-items:center;justify-content:center;text-align:center}.wf-input{display:flex;align-items:center;padding:0 12px;border:1.5px solid #cfd2dc;border-radius:9px;background:#fff;color:#9a9fb0}.wf-input .txt,.wf-input .edit{display:flex;align-items:center;height:auto}.wf-image{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#eceef3 0,#eceef3 10px,#e4e6ec 10px,#e4e6ec 20px);border-radius:10px;color:#a8acba;border:1.5px solid #dfe1e8}.wf-card{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;border:1.5px solid #dfe1e8;background:#fff;font-weight:650;color:#2b2f3b;overflow:hidden}.wf-card-img{flex:1;min-height:20px;border-radius:8px;background:#eceef3}.wf-card .txt,.wf-card .edit{height:auto;flex-shrink:0}.wf-card i,.wf-text i,.wf-list i{display:block;height:8px;border-radius:4px;background:#e1e3ea;flex-shrink:0}.wf-card i:last-child{width:60%}.wf-text{display:flex;flex-direction:column;gap:10px;justify-content:center}.wf-text .txt{color:#6c7183}.wf-list{display:flex;flex-direction:column;justify-content:space-around;gap:6px;padding:8px 10px;border:1.5px solid #dfe1e8;border-radius:10px}.wf-list>div{display:flex;align-items:center;gap:10px}.wf-list span{width:22px;height:22px;border-radius:50%;background:#dfe1e8;flex-shrink:0}.wf-list i{flex:1}.task{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:12px 12px 10px;background:var(--surface);border:1px solid var(--line);border-left:4px solid #a3a8b8;border-radius:12px;box-shadow:var(--shadow)}.task.st-doing{border-left-color:#f2a100}.task.st-done{border-left-color:var(--green)}.task.st-done .task-title{text-decoration:line-through;color:var(--text-3)}.task-top{display:flex;gap:9px;min-height:0;flex:1}.check{width:20px;height:20px;border-radius:6px;border:2px solid #c3c6d1;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;transition:background .12s,border-color .12s;margin-top:1px}.check:hover{border-color:var(--green)}.st-done>.task-top .check,.tcard.st-done .check{background:var(--green);border-color:var(--green)}.task-title{font-weight:600;font-size:15px;line-height:1.32}.task-meta{display:flex;align-items:center;gap:6px;font-size:12px}.task-meta .pill{cursor:pointer}.due,.who{position:relative;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:99px;background:var(--surface-2);color:var(--text-2);cursor:pointer;font-weight:550}.due.late{background:#fdecec}.who{margin-left:auto;padding:0;background:none}.due input,.who select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.reactions{position:absolute;left:0;top:calc(100% + 6px);display:flex;gap:4px;flex-wrap:wrap}.reactions button{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px 0 6px;border-radius:99px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:12px;font-weight:650;color:var(--text-2);transition:transform .1s}.reactions button span{font-size:14px}.reactions button:hover{transform:scale(1.06)}.reactions button.mine{background:var(--accent-soft);border-color:#c5c5fb;color:var(--accent)}.peer-sel{position:absolute;border:2px solid;border-radius:8px;pointer-events:none;z-index:100000;opacity:.75}.drop-target{position:absolute;border:3px dashed var(--sel);border-radius:16px;background:var(--sel-soft);pointer-events:none;z-index:100000;animation:pulse 1s infinite alternate}@keyframes pulse{to{background:#4f6fd129}}.live-stroke{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none;z-index:100000}.guide{position:absolute;z-index:100001;pointer-events:none;background:var(--sel)}.guide.v{top:-100000px;bottom:-100000px;width:calc(1px / var(--z));height:200000px}.guide.h{left:-100000px;width:200000px;height:calc(1px / var(--z))}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.marquee{position:absolute;border:1.5px solid var(--sel);background:var(--sel-soft);border-radius:3px}.sel-box{position:absolute;outline:1.5px solid var(--sel);outline-offset:3px;border-radius:4px}.handle{position:absolute;width:11px;height:11px;background:#fff;border:1.5px solid var(--sel);border-radius:3px;pointer-events:auto;transform:translate(-50%,-50%);box-shadow:var(--shadow-sm)}.h-nw{left:-4px;top:-4px;cursor:nwse-resize}.h-ne{left:calc(100% + 4px);top:-4px;cursor:nesw-resize}.h-se{left:calc(100% + 4px);top:calc(100% + 4px);cursor:nwse-resize}.h-sw{left:-4px;top:calc(100% + 4px);cursor:nesw-resize}.h-n,.h-s,.h-e,.h-w{border-radius:6px}.h-n{left:50%;top:-4px;width:18px;height:7px;cursor:ns-resize}.h-s{left:50%;top:calc(100% + 4px);width:18px;height:7px;cursor:ns-resize}.h-e{left:calc(100% + 4px);top:50%;width:7px;height:18px;cursor:ew-resize}.h-w{left:-4px;top:50%;width:7px;height:18px;cursor:ew-resize}.end-handle{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--sel);transform:translate(-50%,-50%);pointer-events:auto;cursor:move;box-shadow:var(--shadow-sm)}.end-handle.attached{background:var(--sel);border-color:#fff;box-shadow:0 0 0 1.5px var(--sel)}.anchor{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--sel);transform:translate(-50%,-50%);pointer-events:auto;cursor:crosshair;animation:appear .14s ease-out;transition:transform .1s,background .1s}.anchor:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%}.anchor:hover,.anchor.snap{transform:translate(-50%,-50%) scale(1.5);background:var(--sel)}@keyframes appear{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}}.snap-box{position:absolute;border:2px solid var(--sel);border-radius:10px;background:var(--sel-soft)}.eraser-cursor{position:absolute;border-radius:50%;border:1.5px solid var(--text-2);background:#ffffff80}.peer-cursor{position:absolute;left:0;top:0;transition:transform .09s linear;z-index:5}.peer-cursor span{position:absolute;left:14px;top:16px;background:var(--c);color:#fff;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:0 8px 8px;white-space:nowrap;box-shadow:var(--shadow-sm)}.hud{position:absolute;z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px}.toolbar{left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;max-width:calc(100% - 24px)}.tool{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:background .12s,color .12s,transform .08s;flex-shrink:0}.tool:hover{background:var(--surface-2);color:var(--text)}.tool:active{transform:scale(.94)}.tool.active{background:var(--accent);color:#fff}.pop-wrap{position:relative}.popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;z-index:30;animation:fade .1s}.popover.row{display:flex;gap:2px}.ctx-bar .popover{bottom:auto;top:calc(100% + 10px)}.draw-pop{display:flex;flex-direction:column;gap:8px;padding:10px;width:max-content}.emoji-pop{display:flex;gap:2px}.emoji-pop button{width:36px;height:36px;font-size:19px;border-radius:9px;transition:transform .1s}.emoji-pop button:hover{background:var(--surface-2);transform:scale(1.15)}.emoji-pop button.on{background:var(--accent-soft)}.wire-pop{left:auto;right:-6px;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:2px;width:320px;padding:8px}.wire-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;text-align:left;font-size:13px;color:var(--text-2)}.wire-item:hover{background:var(--surface-2);color:var(--text)}.wire-item.big{background:var(--surface-2);font-weight:600;color:var(--text)}.wire-item.big:hover{background:var(--accent-soft);color:var(--accent)}.swatches{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.swatch{width:20px;height:20px;border-radius:50%;border:1.5px solid;transition:transform .1s;flex-shrink:0}.swatch.ink{border-color:#0000001a}.swatch:hover{transform:scale(1.15)}.swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text)}.size-dot{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center}.size-dot i{border-radius:50%;background:var(--text-2);display:block}.size-dot:hover{background:var(--surface-2)}.size-dot.on{background:var(--accent-soft)}.size-dot.on i{background:var(--accent)}.ctx-bar{transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:12px;white-space:nowrap;animation:fade .1s}.ctx-bar>.seg+.seg,.ctx-bar>.swatches+.seg,.ctx-bar>.seg+.btn,.ctx-bar>.btn+.seg{border-left:1px solid var(--line);padding-left:6px}.ctx-bar .swatches{padding:0 4px;flex-wrap:nowrap}.zoom{left:16px;bottom:16px;display:flex;align-items:center;gap:1px;padding:4px;border-radius:12px}.zoom-val{min-width:52px;height:32px;font-size:12.5px;font-weight:600;color:var(--text-2);border-radius:8px}.zoom-val:hover{background:var(--surface-2)}.minimap{right:16px;bottom:16px;padding:6px;border-radius:12px;overflow:hidden}.minimap svg{display:block;cursor:pointer;background:var(--canvas);border-radius:8px}.mm-view{fill:#4f6fd11a;stroke:var(--sel);stroke-width:1.5}.mm-close{position:absolute;top:8px;right:10px;width:18px;height:18px;border-radius:5px;color:var(--text-3);font-size:15px;line-height:1;opacity:0}.minimap:hover .mm-close{opacity:1;background:var(--surface)}.minimap-toggle{right:16px;bottom:16px;width:40px;height:40px;border-radius:12px}.follow-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:25;background:var(--c);color:#fff;font-weight:600;font-size:13px;padding:6px 6px 6px 14px;border-radius:99px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}.follow-banner button{background:#ffffff38;color:#fff;border-radius:99px;padding:4px 10px;font-weight:600}.empty-hint{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-3);text-align:center;pointer-events:none;max-width:320px;line-height:1.45}.empty-hint b{color:var(--text-2);font-size:16px}@media (max-width: 900px){.minimap,.minimap-toggle{display:none}}@media (max-width: 760px){.toolbar{bottom:10px;flex-wrap:wrap;justify-content:center;width:calc(100% - 20px)}.toolbar .sep{display:none}.tool{width:38px;height:38px}}.toasts{position:fixed;bottom:84px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;background:#23262f;color:#fff;padding:9px 10px 9px 16px;border-radius:12px;box-shadow:var(--shadow-lg);font-size:13.5px;pointer-events:auto;animation:pop .18s}.toast button{color:#b9b9ff;font-weight:650;padding:3px 8px;border-radius:7px}.toast button:hover{background:#ffffff1a}.toast:not(:has(button)){padding-right:16px}@container (max-width: 980px){.minimap,.minimap-toggle{display:none}}@container (max-width: 1320px){.zoom{bottom:74px}}@container (max-width: 820px){.toolbar .tool{width:34px}.toolbar .sep{margin:0 1px}}.pc-preview{width:calc(100% + 36px);margin:-18px -18px 4px;height:110px;background:var(--canvas);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:12px 12px;border-radius:15px 15px 0 0;border-bottom:1px solid var(--line);padding:10px;display:block}.pc-preview.empty{display:block}.project-card .pc-top{margin-top:-30px}.project-card .pc-emoji{box-shadow:var(--shadow-sm);background:var(--surface);border:1px solid var(--line)}.mention{color:var(--text);background:#e6e8ee;border-radius:4px;padding:0 3px;font-weight:600}.panel-empty{padding:40px 24px;text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:8px;line-height:1.5}.comment-target{margin:0 14px 6px;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid var(--accent)}.comments{padding:6px 0}.comment{display:flex;gap:9px;padding:8px 16px}.comment-body{flex:1;min-width:0}.comment-head{display:flex;align-items:center;gap:8px;font-size:12.5px}.comment-head span{color:var(--text-3);font-size:11.5px;flex:1}.comment-head .icon-btn{opacity:0}.comment:hover .comment-head .icon-btn{opacity:1}.comment-text{margin-top:2px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px}.comment-text a,.txt a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.comment-compose{padding:10px 12px 12px;border-top:1px solid var(--line)}.mention-input{position:relative;display:flex;align-items:flex-end;gap:6px;border:1px solid var(--line-2);border-radius:12px;padding:6px 6px 6px 12px;background:var(--surface)}.mention-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.mention-input textarea{flex:1;border:0;outline:0;resize:none;background:none;line-height:1.4;padding:5px 0;max-height:160px}.mention-input .send{color:var(--accent)}.mention-pop{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px;z-index:5}.mention-pop button{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;text-align:left}.mention-pop button.on,.mention-pop button:hover{background:var(--accent-soft)}.comment-badge{position:absolute;top:-10px;right:-10px;min-width:24px;height:24px;padding:0 6px;border-radius:12px 12px 12px 3px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:3px;box-shadow:var(--shadow);border:2px solid #fff;z-index:2;cursor:pointer}.bell{position:relative}.bell .badge{position:absolute;top:2px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}.bell-pop{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:80;overflow:hidden;animation:pop .14s}.bell-head{padding:12px 14px 8px;font-weight:650}.bell-list{max-height:60vh;overflow:auto}.bell-item{display:flex;gap:10px;padding:10px 14px;font-size:13px;line-height:1.4;border-top:1px solid var(--surface-2)}.bell-item:hover{background:var(--surface-2)}.bell-item.unread{background:#f4f5f7}.bell-item small{display:block;color:var(--text-3);font-size:11.5px;margin-top:2px}.device{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.device p{font-size:13px}.quick-add{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--surface);border:1.5px solid var(--sel);color:var(--sel);display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);pointer-events:auto;box-shadow:var(--shadow-sm);opacity:.75;transition:transform .1s,opacity .1s,background .1s;animation:appear .16s ease-out}.quick-add:hover{opacity:1;transform:translate(-50%,-50%) scale(1.2);background:var(--sel);color:#fff}.ctx-menu{min-width:210px;padding:5px;border-radius:12px;box-shadow:var(--shadow-lg);animation:fade .08s;z-index:40}.ctx-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 10px;border-radius:7px;font-size:13px;text-align:left}.ctx-menu button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.ctx-menu button.danger{color:var(--red)}.ctx-menu button.danger:hover{background:#fdecec;color:var(--red)}.ctx-menu kbd{font-size:10.5px;padding:2px 5px}.ctx-menu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.align-pop{display:grid;grid-template-columns:repeat(4,32px);gap:2px}.comment-btn{width:auto;min-width:32px;padding:0 6px;gap:3px;font-size:12px;font-weight:650}.section{width:100%;height:100%;border-radius:14px;background:color-mix(in srgb,var(--c) 55%,#fbfaf8);border:1px solid color-mix(in srgb,var(--d) 18%,#e3e1dc)}.section-title{position:absolute;left:0;bottom:calc(100% + 6px);max-width:100%;font-weight:700;font-size:15px;color:var(--text-2);white-space:nowrap}.section-title .txt,.section-title .edit{height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-title .edit{width:300px;background:var(--surface);border-radius:6px;padding:0 6px}.toolbar.hidden{opacity:0;pointer-events:none;transform:translate(-50%,20px)}.toolbar{transition:opacity .2s,transform .2s}.present-bar{left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 6px 6px 8px;border-radius:14px;font-weight:600;white-space:nowrap}.present-bar span{min-width:160px;text-align:center;max-width:340px;overflow:hidden;text-overflow:ellipsis}.timer-hud{top:12px;right:12px;border-radius:12px}.timer-btn{position:relative;height:36px;min-width:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-2);overflow:hidden}.timer-btn:hover{background:var(--surface-2)}.timer-btn.running{color:var(--accent)}.timer-btn.done{color:#fff;background:var(--red);animation:pulse-red 1s infinite alternate}@keyframes pulse-red{to{background:#ff7d81}}.timer-btn i{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);transition:width .5s linear}.timer-hud .popover{top:calc(100% + 8px);bottom:auto;left:auto;right:0;transform:none;width:230px;padding:10px}.timer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.small{font-size:12px;margin:8px 0 0}.tpl-pop{left:auto;right:-6px;transform:none;width:270px;display:flex;flex-direction:column;gap:2px}.tpl-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:9px;text-align:left;color:var(--text-2)}.tpl-item:hover{background:var(--accent-soft);color:var(--accent)}.tpl-item b{display:block;color:var(--text);font-size:13.5px}.tpl-item small{color:var(--text-3);font-size:12px}@media (max-width: 760px){.zoom{bottom:112px!important;left:10px}.zoom .sep,.zoom .icon-btn:first-child,.zoom .icon-btn:nth-child(2){display:none}.timer-hud{top:8px;right:8px}.popover{max-width:calc(100vw - 24px)}.wire-pop{width:min(320px,calc(100vw - 24px))}}.project-card{position:relative}.pc-menu{position:absolute;top:8px;right:8px;z-index:3}.pc-menu>.icon-btn{background:#ffffffe6;box-shadow:var(--shadow-sm);opacity:0;transition:opacity .12s}.project-card:hover .pc-menu>.icon-btn,.pc-menu:has(.pc-pop)>.icon-btn{opacity:1}.pc-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:5px;animation:pop .12s}.pc-pop button{width:100%;text-align:left;padding:8px 10px;border-radius:7px;font-size:13.5px}.pc-pop button:hover{background:var(--surface-2)}.pc-pop button.danger{color:var(--red)}.pc-pop button.danger:hover{background:#fdecec}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.danger:hover:not(:disabled){background:#cf3a3f}.btn:disabled{opacity:.45;cursor:default}code{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:4px}.text-pop{width:280px;display:flex;flex-direction:column;gap:2px}.tpl-item.on{background:var(--accent-soft);color:var(--accent)}.size-select{height:30px;border:1px solid var(--line);border-radius:8px;padding:0 6px;background:var(--surface);font-size:12.5px}.checklist{width:100%;min-height:60px;background:var(--c);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.cl-head{display:flex;align-items:center;gap:8px;font-size:15px}.cl-head b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-count{font-size:12px;font-weight:650;color:var(--text-3);font-variant-numeric:tabular-nums}.cl-bar{height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}.cl-bar i{display:block;height:100%;background:var(--green);transition:width .2s}.cl-items{display:flex;flex-direction:column;gap:2px}.cl-items .txt{height:auto;font-size:13.5px}.cl-item{display:flex;align-items:flex-start;gap:9px;padding:4px 0;font-size:14.5px;line-height:1.35}.cl-item .check{width:18px;height:18px;border-radius:5px;margin-top:0}.cl-item.done .check{background:var(--green);border-color:var(--green)}.cl-item.done span{text-decoration:line-through;color:var(--text-3)}.cl-item span{overflow-wrap:anywhere;min-width:0}.cl-editor{display:flex;flex-direction:column;gap:6px}.cl-title-input{border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-weight:650;outline:none;-webkit-user-select:text;user-select:text;background:var(--surface)}.cl-title-input:focus,.cl-area:focus{border-color:var(--accent)}.cl-area{border:1px solid var(--line)!important;border-radius:7px!important;padding:6px 8px!important;min-height:60px;font-size:14.5px;line-height:1.6!important;background:var(--surface)!important}.cl-hint{font-size:11px;color:var(--text-3)}.pdf{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;border-radius:10px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}.pdf.spread{border-radius:4px;position:relative}.pdf-bar{height:40px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 6px 0 12px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--red)}.pdf-title{flex:1;min-width:0;font-weight:650;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-nav{display:flex;align-items:center;gap:2px;font-size:12.5px;font-weight:650;color:var(--text-2);font-variant-numeric:tabular-nums}.pdf-nav button{height:28px;min-width:28px;padding:0 6px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:var(--text-2)}.pdf-nav button:hover:not(:disabled){background:var(--surface);color:var(--accent)}.pdf-nav span{min-width:46px;text-align:center}.pdf-spread{border:1px solid var(--line)!important;background:var(--surface);margin-left:4px}.pdf-page{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#fff}.pdf-page img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.pdf-wait{color:var(--text-3);font-size:13px}.pdf-num{position:absolute;right:8px;bottom:8px;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:#1f2330bf;color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center}.web-obj{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--line-2);box-shadow:var(--shadow)}.web-obj.live{box-shadow:0 0 0 3px var(--sel),var(--shadow)}.web-bar{height:38px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 6px 0 12px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--text-3)}.web-title{flex:1;min-width:0;font-weight:600;font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.web-title small{font-weight:450;color:var(--text-3);margin-left:8px}.web-actions{display:flex;gap:3px}.web-actions button,.web-actions a{height:26px;min-width:26px;padding:0 8px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:650;color:var(--text-2);background:var(--surface);border:1px solid var(--line)}.web-actions button:hover,.web-actions a:hover{color:var(--text);border-color:var(--line-2)}.web-actions button.on{background:var(--sel);border-color:var(--sel);color:#fff}.web-obj iframe{flex:1;width:100%;border:0;background:#fff}.web-blocked{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:13px}.import-hud{top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 14px;font-weight:600;font-size:13px;overflow:hidden}.import-hud i{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);transition:width .2s}.spin-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--accent);animation:spin .8s linear infinite}.video-obj{width:100%;height:100%;display:flex;flex-direction:column;background:#111318;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.video-bar{height:36px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 12px;background:#1d2027;color:#b9bcc8}.video-title{flex:1;min-width:0;font-weight:600;font-size:12.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-len{font-size:11.5px;font-variant-numeric:tabular-nums}.video-obj video{flex:1;min-height:0;width:100%;background:#000;display:block}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-2);border-radius:11px;margin:16px 0 4px}.login-tabs button{height:34px;border-radius:8px;font-weight:600;color:var(--text-2)}.login-tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.input.bad{border-color:var(--red)}.hint.warn{background:#fbf1e3;color:#7a5520}.sel-box.resizing{outline-style:dashed}.handle.active{background:var(--sel);transform:translate(-50%,-50%) scale(1.25)}.size-badge{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%);background:var(--sel);color:#fff;font-size:11.5px;font-weight:650;padding:3px 8px;border-radius:6px;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-sm)}.textbox:not(.fixed) .edit{field-sizing:content;min-width:40px;max-width:900px;width:auto;white-space:pre}.textbox:not(.fixed){width:max-content;min-width:100%}.sel-box.group{outline-style:dashed;outline-offset:6px}.group-badge{position:absolute;left:-6px;top:-30px;background:var(--sel);color:#fff;font-size:11px;font-weight:650;padding:2px 7px;border-radius:5px;white-space:nowrap}.scaler{transform-origin:0 0}.picker{margin-top:10px;max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px}.picker-row{width:100%;display:flex;align-items:center;gap:8px;height:34px;padding-right:10px;border-radius:7px;text-align:left;font-size:13.5px;color:var(--text-2)}.picker-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-row:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.picker-row:disabled{opacity:.45;cursor:default}.picker-row.current{opacity:1;font-weight:650}.picker-row small{color:var(--text-3);font-size:11.5px}.picker-row .go{opacity:0}.picker-row:hover .go{opacity:1}
