.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.sidebar-brand{align-items:center;display:flex;flex-direction:column;margin-bottom:24px;margin-top:8px}.sidebar-brand .logo-responsive{margin-bottom:6px;max-width:48px}.sidebar-brand .brand-text,.sidebar-brand .brand-title{color:#0f172a;font-family:Poppins,Nunito,Raleway,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-family:var(--font-brand);font-size:22px;font-weight:700;letter-spacing:-.02em;text-align:center}.sidebar-profile-menu{align-items:center;display:flex;flex-direction:column;margin-bottom:32px;margin-top:8px}.sidebar-profile-avatar-btn{background:none;border:none;cursor:pointer;outline:none;padding:0}.sidebar-profile-avatar{border-radius:50%;box-shadow:0 4px 16px #0206171a;height:72px;margin-bottom:12px;object-fit:cover;width:72px}.sidebar-profile-name{color:#0f172a;font-size:18px;font-weight:700;margin-bottom:4px;overflow-wrap:anywhere;text-align:left;white-space:normal;word-break:break-word}.sidebar-user-dropdown{align-items:stretch;background:#fff;border:1px solid #eef2ff;border-radius:10px;box-shadow:0 12px 32px #0206171a;display:flex;flex-direction:column;gap:4px;left:50%;min-width:160px;padding:8px;position:absolute;top:56px;transform:translateX(-50%);z-index:2000}.canvas-title-bar{border-bottom:1px solid #eef2ff;margin-bottom:12px;padding:8px 0 12px}.canvas-title{color:#0f172a;color:var(--text);font-size:20px;font-weight:700}.canvas-title-subtext{color:#475569;color:var(--muted-2);font-size:13px;margin-left:8px}.sidebar-graph-section{border-top:1px solid #eef2ff;display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:12px}.sidebar-graph-section-header{color:#475569;color:var(--muted-2);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.sidebar-graph-subheader{color:#475569;color:var(--muted-2);font-size:12px;margin:2px 0 0}.sidebar-graph-count{align-items:center;background:#f1f5f9;border-radius:999px;color:#64748b;color:var(--muted);display:inline-flex;font-size:13px;font-weight:700;height:22px;justify-content:center;margin-right:8px;min-width:22px;padding:0 8px}.sidebar-graph-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.sidebar-graph-add{align-items:center;background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;min-height:32px;min-width:40px;padding:6px 8px;transition:background-color .15s ease,transform .06s ease;white-space:nowrap}.sidebar-graph-add:hover{background-color:#45a049}.sidebar-graph-add:active{transform:scale(.98)}.sidebar-graph-add-icon{color:#fff;display:inline-block;height:14px;width:14px}.sidebar-graph-add-label{display:inline-block;line-height:1}.app-sidebar.collapsed .sidebar-graph-add-label{display:none}.app-sidebar.collapsed .sidebar-graph-add{justify-content:center;padding:6px}.sidebar-graph-body{display:flex;flex-direction:column;gap:12px}.sidebar-graph-group{display:flex;flex-direction:column;gap:6px}.sidebar-graph-group-title{align-items:center;color:#475569;color:var(--muted-2);display:flex;font-size:11px;gap:6px;letter-spacing:.06em;text-transform:uppercase}.sidebar-graph-group-title span{background:#f1f5f9;border-radius:999px;color:#64748b;color:var(--muted);font-size:11px;padding:0 6px}.sidebar-graph-list{display:flex;flex-direction:column;gap:8px}.sidebar-graph-active{margin-bottom:12px}.sidebar-graph-active .sidebar-graph-link{background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid #0206170f;border-radius:10px;box-shadow:0 8px 20px #0206170f}.sidebar-graph-link{grid-gap:10px;align-items:center;background:#0f172a05;border:1px solid #0000;border-radius:10px;box-sizing:border-box;color:#0f172a;color:var(--text);cursor:pointer;display:grid;gap:10px;grid-template-columns:auto 1fr;padding:10px 12px;text-align:left;transition:border-color .15s ease,background .15s ease;width:100%}.sidebar-graph-link:hover{background:#f8fafc;border-color:#e0e7ff}.sidebar-graph-link.active{background:#eff6ff;border-color:#bfdbfe}.sidebar-graph-initial{align-items:center;background:#dbeafe;border-radius:12px;color:#1d4ed8;display:inline-flex;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.sidebar-graph-info{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.sidebar-graph-name-row{align-items:center;display:flex;gap:6px}.sidebar-graph-name{color:#0f172a;color:var(--text);flex:1 1 auto;font-size:14px;font-weight:600;padding-right:36px}.sidebar-graph-meta,.sidebar-graph-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-graph-meta{color:#475569;color:var(--muted-2);font-size:12px}.sidebar-graph-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.sidebar-graph-status{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.sidebar-graph-chip{background:#f1f5f9;border-radius:999px;color:#475569;font-size:11px;padding:2px 6px}.sidebar-graph-chip.active{background:#dbeafe;color:#1d4ed8;font-weight:600}.sidebar-graph-chip.owner{background:#ecfccb;color:#4d7c0f}.sidebar-graph-chip.shared{background:#fef9c3;color:#92400e}.sidebar-graph-chip.ghost{background:#0000;border:1px dashed #cbd5f5;color:#64748b}.sidebar-graph-item>div>.sidebar-small-btn{background:#ffffffe6;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 3px 8px #0206170f;font-size:14px;height:28px;line-height:1;padding:4px 8px;width:auto;z-index:3}.sidebar-graph-item .sidebar-graph-link{position:relative;z-index:1}.sidebar-graph-item{box-sizing:border-box;width:100%}.sidebar-graph-empty{color:#64748b;color:var(--muted);font-size:13px;line-height:1.4}.sidebar-graph-create-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:10px}.sidebar-graph-create-form input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px}.sidebar-graph-create-actions{display:flex;gap:8px;justify-content:flex-start}.sidebar-graph-create-btn{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px}.sidebar-graph-create-cancel{background:#0000;border:none;color:#64748b;color:var(--muted);cursor:pointer}.sidebar-hamburger{display:none}@media (max-width:900px){.sidebar-hamburger{align-items:center;background:#fff;border:1px solid #eef2ff;box-shadow:0 2px 8px #0206170f;display:inline-flex!important;justify-content:center;margin-left:0;margin-right:8px;z-index:1400}.app-sidebar{background:#fff;box-shadow:0 8px 32px #0206172e;height:calc(100vh - 72px)!important;height:calc(100vh - var(--header-h))!important;left:0!important;max-width:180px;position:fixed!important;top:72px!important;top:var(--header-h)!important;transform:translateX(-110%);transition:transform .22s cubic-bezier(.4,0,.2,1);width:56vw!important;will-change:transform;z-index:1300}.app-sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block;height:calc(100vh - 72px)!important;height:calc(100vh - var(--header-h))!important;top:72px!important;top:var(--header-h)!important}}@media (min-width:901px){.sidebar-overlay{display:none!important}}.logo-responsive{height:auto;max-width:44px;width:100%}@media (max-width:600px){.logo-responsive{max-width:32px}}@media (max-width:400px){.logo-responsive{max-width:24px}}@media (max-width:480px){.user-dropdown-fixed{left:1vw!important;min-width:0;padding:6px 2vw;right:1vw!important;width:98vw!important}}@media (max-width:600px){.site-header-inner{align-items:stretch;flex-direction:column;gap:6px;padding:8px 4px}.site-actions{gap:6px;justify-content:flex-end;min-width:0}.brand-logo{height:36px;width:36px}}:root{--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;--font-brand:"Poppins","Nunito","Raleway",var(--font-sans);--text:#0f172a;--muted:#64748b;--accent:#802030;--accent-2:#a03040;--brand-rgb:128,32,48;--accent-alt-1:#d08030;--accent-alt-2:#e0a040;--brand-alt-rgb:208,128,48;--accent-deep-1:#b04040;--accent-deep-2:#c05050;--danger:#ef4444;--success:#10b981;--info:#2563eb;--muted-2:#475569;--bg:#f6f8fb;--panel:#fff;--maxw:1200px;--header-h:72px}.bootstrap-enabled{--accent:#0d6efd;--accent-2:#0b5ed7;--brand-rgb:13,110,253;--accent-alt-1:#6c757d;--accent-alt-2:#adb5bd;--accent-deep-1:#0b5ed7;--accent-deep-2:#0a58ca;--info:#0d6efd;--text:#212529;--muted:#6c757d;--muted-2:#6c757d;--bg:#f8f9fa;--panel:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif}.bootstrap-enabled .brand-title{color:#0f172a!important;font-family:Poppins,Nunito,Raleway,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial!important;font-family:var(--font-brand)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-enabled .brand-title .brand-kin{background:linear-gradient(90deg,#802030,#a03040)!important;-webkit-background-clip:text!important;background-clip:text!important}.bootstrap-enabled .brand-title .brand-kin,.bootstrap-enabled .brand-title .brand-zy{-webkit-text-fill-color:#0000!important;font-size:.6em!important;font-weight:600!important}.bootstrap-enabled .brand-title .brand-zy{background:linear-gradient(90deg,#d08030,#e0a040)!important;-webkit-background-clip:text!important;background-clip:text!important}.bootstrap-enabled .brand-title .brand-tld{color:#e56b2d!important;font-size:.3em!important;font-weight:600!important;transform:translateY(-.08em)!important}.bootstrap-enabled .home-title .brand-kin{background:linear-gradient(90deg,#802030,#a03040)!important;-webkit-background-clip:text!important;background-clip:text!important}.bootstrap-enabled .home-title .brand-kin,.bootstrap-enabled .home-title .brand-zy{-webkit-text-fill-color:#0000!important;font-size:.6em!important;font-weight:600!important}.bootstrap-enabled .home-title .brand-zy{background:linear-gradient(90deg,#d08030,#e0a040)!important;-webkit-background-clip:text!important;background-clip:text!important}.bootstrap-enabled .home-title .brand-tld{color:#e56b2d!important;font-size:.3em!important;font-weight:600!important;transform:translateY(-.08em)!important}.bootstrap-enabled .auth-btn{border:1px solid #0000;border-radius:.375rem;box-shadow:none;font-weight:600;min-width:auto;padding:.375rem .75rem}.bootstrap-enabled .auth-btn.primary{background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));border-color:#0000;box-shadow:none;color:#fff}.bootstrap-enabled .auth-btn.secondary{background:#fff;border:1px solid #dee2e6;color:#0f172a;color:var(--text)}.bootstrap-enabled .editor{padding:1rem}.bootstrap-enabled .auth-close{font-size:1.25rem;padding:.25rem}html[data-theme=dark]{--text:#e6eef6;--muted:#9aa8b8;--bg:linear-gradient(180deg,#07101a,#071018);--panel:#071222;--accent:#a66b6b;--accent-2:#c07b7b;--brand-rgb:166,107,107;--accent-alt-1:#d08030;--accent-alt-2:#e0a040;--brand-alt-rgb:208,128,48;--accent-deep-1:#8a3b3b;--accent-deep-2:#9f4b4b}*,:after,:before{box-sizing:border-box}#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(180deg,#f6f8fb,#fff);background:linear-gradient(180deg,var(--bg),#fff);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-family:var(--font-sans);height:100%}#root,body,h1,h2,h3,h4,h5,h6,html{color:#0f172a;color:var(--text);margin:0}h1,h2,h3,h4,h5,h6{font-weight:800}p{margin:0}.site-header{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(90deg,#fffffff0,#fafcffe6);border-bottom:1px solid #0f172a0d;box-shadow:0 6px 18px #02061708;height:72px;height:var(--header-h);left:0;max-height:72px;max-height:var(--header-h);min-height:72px;min-height:var(--header-h);position:fixed;top:0;width:100vw;z-index:2000}.app-root{padding-top:72px;padding-top:var(--header-h)}.site-header-inner{box-sizing:border-box;flex-wrap:wrap;gap:10px;height:100%;margin:0 auto;max-height:72px;max-height:var(--header-h);max-width:1200px;max-width:var(--maxw);min-height:72px;min-height:var(--header-h);padding:10px 8px}.site-brand,.site-header-inner{align-items:center;display:flex}.site-brand{cursor:pointer;gap:12px}.brand-logo{align-items:center;border-radius:10px;display:flex;height:44px;justify-content:center;overflow:hidden;width:44px}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-title{color:#0f172a;font-family:Poppins,Nunito,Raleway,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-family:var(--font-brand);font-size:clamp(18px,2.6vw,28px);letter-spacing:-.02em}.brand-inline .brand-kin,.brand-title .brand-kin,.home-title .brand-kin{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:#0f172a;color:var(--text);font-size:.6em;font-weight:600}.brand-inline .brand-zy,.brand-title .brand-zy,.home-title .brand-zy{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#d08030,#e0a040);background:linear-gradient(90deg,var(--accent-alt-1),var(--accent-alt-2));-webkit-background-clip:text;background-clip:text;color:#0f172a;color:var(--text);font-size:.6em;font-weight:600}.brand-inline .brand-kin,.brand-inline .brand-zy,.brand-title .brand-kin,.brand-title .brand-zy,.home-title .brand-kin,.home-title .brand-zy{font-size:.6em;line-height:1}.brand-inline .brand-tld,.brand-title .brand-tld,.home-title .brand-tld{color:#e56b2d;display:inline-block;font-size:.3em;font-weight:600;line-height:1;margin-left:.08em;transform:translateY(-.08em);vertical-align:initial}.brand-title .brand-tld,.home-title .brand-tld{-webkit-text-fill-color:initial!important;background-clip:initial!important}.brand-tag{display:none}.site-header .brand-title{color:#0f172a!important;color:var(--text)!important;opacity:1!important}.site-header .brand-title .brand-kin,.site-header .brand-title .brand-zy{-webkit-text-fill-color:#0000!important;-webkit-background-clip:text!important;background-clip:text!important;color:#0f172a!important;color:var(--text)!important}.home-title,.home-title .brand-kin,.home-title .brand-title,.home-title .brand-zy{color:#0f172a!important;color:var(--text)!important}.home-title .brand-kin,.home-title .brand-zy{-webkit-text-fill-color:#0000!important;-webkit-background-clip:text!important;background-clip:text!important}.home-title .brand-tld{-webkit-text-fill-color:initial!important;background-clip:initial!important;color:#e56b2d!important}.site-header .brand-text{display:flex!important;min-width:0;opacity:1!important;visibility:visible!important}.site-header .brand-text .brand-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-inline{font-family:Poppins,Nunito,Raleway,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-family:var(--font-brand);font-size:14px;letter-spacing:-.02em;line-height:1}.brand-inline .brand-kin{background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:#0f172a;color:var(--text);font-weight:700}.brand-inline .brand-zy{background:linear-gradient(90deg,#d08030,#e0a040);background:linear-gradient(90deg,var(--accent-alt-1),var(--accent-alt-2));-webkit-background-clip:text;background-clip:text;color:#0000;font-size:.6em;font-weight:600}.site-nav{align-items:center;display:flex;flex:1 1 auto;gap:16px;min-width:0}.nav-link{border-radius:8px;color:#475569;font-size:14px;padding:8px 10px;text-decoration:none}.nav-link:hover{background:#6366f10f;color:#0f172a}.site-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-left:auto;min-width:120px}.verify-chip{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;box-shadow:0 8px 20px #0206170f;color:#9a3412;display:inline-flex;font-size:12px;gap:8px;padding:6px 10px}.verify-chip-btn{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:#1d4ed8;cursor:pointer;font-weight:700;padding:0}.verify-chip-btn:hover{text-decoration:underline}.header-cta{border:1px solid #0000;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;padding:9px 14px}.header-cta.cta-primary{background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 10px 30px #8020301f;box-shadow:0 10px 30px rgba(var(--brand-rgb),.12);color:#fff}.header-cta.cta-outline{background:#fff;border:1px solid #e6eef8;color:#0f172a}.user-menu{display:inline-block;position:relative}.user-btn{align-items:center;background:#fff;border:1px solid #eef2ff;border-radius:12px;cursor:pointer;display:inline-flex;font-weight:600;gap:10px;padding:8px 10px}.user-btn:hover{box-shadow:0 8px 22px #0206170a;transform:translateY(-1px)}.user-avatar,.user-initials{border-radius:50%;flex:0 0 36px;height:36px;object-fit:cover;width:36px}.user-initials{align-items:center;background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;display:flex;font-weight:700;justify-content:center}.user-name{color:#05203b;font-size:14px}.user-caret{font-size:11px;opacity:.8}.user-dropdown-fixed{animation:ddFade .16s ease;background:#fff;border:1px solid #eef2ff;border-radius:10px;box-shadow:0 20px 50px #02061724;padding:10px;position:fixed!important;right:16px!important;top:82px!important;top:calc(var(--header-h) + 10px)!important;width:260px;z-index:99999}@keyframes ddFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.user-dropdown-fixed .dropdown-profile{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:10px;margin-bottom:8px;padding-bottom:8px}.user-dropdown-fixed .dropdown-avatar img{border-radius:50%;height:44px;object-fit:cover;width:44px}.user-dropdown-fixed .dropdown-info{display:flex;flex-direction:column;gap:2px}.user-dropdown-fixed .dropdown-name{font-size:14px;font-weight:700}.user-dropdown-fixed .dropdown-email{color:#64748b;font-size:12px;word-break:break-all}.user-dropdown-fixed .dropdown-actions{display:flex;flex-direction:column;gap:6px;padding-top:6px}.user-dropdown-fixed .dropdown-btn{background:#fff;border:1px solid #eef2ff;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 10px;text-align:left;width:100%}.user-dropdown-fixed .dropdown-btn:hover{background:#f8fbff;box-shadow:0 8px 20px #0206170a}.user-dropdown-fixed .dropdown-link{background:#0000;border:none;border-radius:6px;color:#0f172a;cursor:pointer;font-weight:600;padding:6px 2px;text-align:left;width:100%}.user-dropdown-fixed .dropdown-link:hover{background:#0000;text-decoration:underline}.app-root{display:flex;flex-direction:column;gap:12px;min-height:100vh}.main-layout{display:flex;gap:12px;margin:12px auto;max-width:1200px;max-width:var(--maxw);width:calc(100% - 32px)}.app-sidebar{align-self:flex-start;background:#fff;border:1px solid #eef2ff;border-radius:12px;box-shadow:0 12px 32px #0206170a;flex:0 0 auto;height:calc(100vh - 120px);height:calc(100vh - var(--header-h) - 48px);max-width:340px;min-width:180px;overflow:auto;padding:12px;position:-webkit-sticky;position:sticky;top:90px;top:calc(var(--header-h) + 18px);width:min(300px,24vw)}.app-sidebar.collapsed{max-width:88px;min-width:88px;padding:8px;width:88px}.app-sidebar.collapsed .sidebar-inner{align-items:center}.app-sidebar.collapsed .sidebar-item-label,.app-sidebar.collapsed .sidebar-profile-name{display:none}.sidebar-item{position:relative}.sidebar-tooltip{display:none;opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease}.app-sidebar.collapsed .sidebar-item:focus-visible .sidebar-tooltip,.app-sidebar.collapsed .sidebar-item:hover .sidebar-tooltip{background:#0f172a;border-radius:8px;box-shadow:0 8px 24px #02061729;color:#fff;display:block;font-size:13px;font-weight:600;left:100%;margin-left:10px;opacity:1;padding:6px 10px;position:absolute;top:50%;transform:translateY(-50%) translateY(0);white-space:nowrap;z-index:2200}.app-sidebar.collapsed .sidebar-item:focus-visible .sidebar-tooltip:before,.app-sidebar.collapsed .sidebar-item:hover .sidebar-tooltip:before{border-bottom:6px solid #0000;border-right:6px solid #0f172a;border-top:6px solid #0000;content:"";left:-6px;position:absolute;top:50%;transform:translateY(-50%)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.app-sidebar.collapsed .sidebar-item{justify-content:center}.app-sidebar.collapsed .sidebar-section{align-items:center;display:flex;flex-direction:column}.app-sidebar.collapsed .sidebar-profile-menu{align-items:center}.app-sidebar.collapsed .sidebar-profile-avatar{margin-left:0}.app-sidebar.collapsed .sidebar-collapse-wrap{justify-content:center;padding-right:0}.app-sidebar.collapsed .sidebar-profile-avatar{height:56px;margin-bottom:8px;width:56px}.app-sidebar.collapsed .sidebar-profile-avatar-btn{align-items:center;display:flex;justify-content:center;margin-left:auto;margin-right:auto}.app-sidebar.collapsed .sidebar-graph-info{display:none}.app-sidebar.collapsed .sidebar-graph-initial{display:inline-flex;margin-left:auto;margin-right:auto}.app-sidebar.collapsed .sidebar-graph-link{grid-template-columns:1fr;justify-items:center;padding:8px}.app-sidebar.collapsed .sidebar-graph-item{width:100%}.sidebar-collapse-wrap{display:flex;justify-content:flex-end;margin-top:auto;padding-bottom:6px;padding-right:6px}.sidebar-collapse-btn{align-items:center;background:none;border:none;border-radius:10px;cursor:pointer;display:inline-flex;justify-content:center;padding:8px}.sidebar-collapse-btn .chev{transform-origin:50% 50%;transition:transform .18s ease}.sidebar-collapse-btn .chev.rotated{transform:rotate(180deg)}.app-sidebar.collapsed .sidebar-item:focus-visible:after,.app-sidebar.collapsed .sidebar-item:focus-visible:before{display:block}@media (max-width:900px){.app-sidebar.collapsed{max-width:180px;min-width:0;min-width:auto;padding:12px;width:56vw!important}.app-sidebar.collapsed .sidebar-item-label{display:inline-block}.app-sidebar.collapsed .sidebar-profile-name{display:block}.sidebar-collapse-btn{display:none}.sidebar-collapse-wrap{margin-top:0}}.sidebar-inner{display:flex;flex-direction:column;gap:12px}.sidebar-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:background .12s,transform .12s}.sidebar-theme-wrap{align-items:center;display:inline-flex;position:relative}.sidebar-theme-dropdown{background:#fff;border:1px solid #eef2ff;border-radius:10px;box-shadow:0 12px 30px #02061714;display:flex;flex-direction:column;gap:6px;left:100%;min-width:140px;padding:6px;position:absolute;top:50%;transform:translateX(10px) translateY(-50%);z-index:2200}.sidebar-theme-dropdown .dropdown-link{border-radius:8px;padding:8px 10px;text-align:left}.sidebar-item:hover{background:#f8fbff;transform:translateY(-2px)}.sidebar-item.active{background:linear-gradient(90deg,#eef2ff,#f8fbff);border:1px solid #dbeafe;box-shadow:0 8px 20px #8020300d;box-shadow:0 8px 20px rgba(var(--brand-rgb),.05)}.sidebar-item-label{color:#0f172a;font-weight:700}.sidebar-small-btn{background:#fff;border:1px solid #eef2ff;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 10px;width:100%}.sidebar-theme-btn{align-items:center;background:#0000;border:none;border-radius:10px;cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.content-area{flex:1 1 auto;min-height:calc(100vh - 120px);min-height:calc(100vh - var(--header-h) - 48px)}.graph-selector-btn{background:#0000;border:none;border-radius:8px;cursor:pointer;font-weight:700;padding:8px 10px}.graph-selector-dropdown input{border:1px solid #e6eef8;border-radius:8px;box-sizing:border-box;padding:8px;width:100%}.cta{border:1px solid #0000;border-radius:10px;cursor:pointer;font-weight:700;padding:10px 14px}.cta.primary{background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 10px 26px #80203029;box-shadow:0 10px 26px rgba(var(--brand-rgb),.16);color:#fff}.cta.outline{background:#fff;border:1px solid #e6eef8;color:#0f172a}.cta:focus,.dropdown-btn:focus,.dropdown-link:focus,.header-cta:focus,.user-btn:focus,button:focus{outline:3px solid #80203038;outline:3px solid rgba(var(--brand-rgb),.22);outline-offset:3px}.home{background:linear-gradient(180deg,#80203014,#d080300f 40%,#fff 85%);display:flex;min-height:calc(100vh - 72px);min-height:calc(100vh - var(--header-h))}.home,.home-inner{align-items:center}.home-inner{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1.3fr 1fr;margin:0 auto;max-width:980px;width:calc(100% - 32px)}.home-left{padding:10px 4px}.home-brand,.home-left{align-items:center;display:flex;flex-direction:row;gap:18px}.brand-text-block{align-items:flex-start;display:flex;flex-direction:column;gap:6px;transform:translateY(0);transition:transform .16s ease}.home-logo{height:auto;max-width:128px!important;object-fit:contain;width:128px}@media (min-width:900px){.home-logo{max-width:320px!important;width:320px}.brand-text-block{align-items:flex-start;transform:translateY(-6px)}.home-tagline{margin-top:6px}}.home-illustration{align-items:center;aspect-ratio:1/1;background:#0000;border-radius:16px;box-shadow:0 8px 24px #02061714;display:flex;justify-content:center;margin:0 auto 12px;max-width:220px;width:100%}@media (max-width:720px){.home-illustration{border-radius:12px;max-width:140px}}.brand-logo img,.home-illustration img{height:auto;max-height:100%;object-fit:contain;width:100%}.home-title{color:#0f172a;font-family:Poppins,Nunito,Raleway,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-family:var(--font-brand);font-size:clamp(40px,6.5vw,96px);letter-spacing:-.02em;line-height:1.02;margin-bottom:0}.home-title .brand-kin{background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text}.home-title .brand-kin,.home-title .brand-zy{-webkit-text-fill-color:#0000;color:#0000;font-weight:600}.home-title .brand-zy{background:linear-gradient(90deg,#d08030,#e0a040);background:linear-gradient(90deg,var(--accent-alt-1),var(--accent-alt-2));-webkit-background-clip:text;background-clip:text;font-size:.6em}.home-tagline{color:#475569;font-size:clamp(14px,2.2vw,18px);margin:0;opacity:.95}.home-right{align-items:center}.home-card,.home-right{display:flex;flex-direction:column;gap:10px}.home-card{background:#fff;border:1px solid #f4dfd6;border-radius:12px;box-shadow:0 16px 40px #02061714;max-width:420px;padding:16px;width:100%}.home-card .auth-btn{width:100%}.home-footnote{color:#64748b;font-size:13px;text-align:center}@media (max-width:900px){.home-inner{gap:14px;grid-template-columns:1fr;padding:24px 0}.home-left{text-align:center}.home-brand,.home-left{align-items:center;flex-direction:column}.home-brand{gap:12px}.brand-text-block{align-items:center;transform:none}}.home .auth-link{color:#802030;color:var(--accent)}.home .auth-link:hover{color:#b04040;color:var(--accent-deep-1)}.flow-container{height:calc(100vh - 72px);height:calc(100vh - var(--header-h));min-height:420px;padding:12px;position:relative;width:100%}.reactflow-wrapper{border-radius:10px;height:100%;overflow:hidden;width:100%}.canvas-name-overlay{align-items:center;display:flex;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:9999}.canvas-name-overlay .canvas-title{background:#fffffff2;border-radius:10px;box-shadow:0 8px 20px #02061714;font-weight:700;padding:6px 12px}@media (max-width:700px){.flow-container{padding:6px}.react-flow__controls button{height:44px;width:44px}.react-flow__controls svg{height:24px;width:24px}}.canvas-controls{background:#fff;background:var(--panel);border:1px solid #0000;border-radius:4px;display:inline-flex;flex-direction:column;overflow:hidden}.canvas-controls .cc-sep{background:#475569;background:var(--muted-2);height:1px;width:100%}.canvas-controls .cc-btn{align-items:center;background:#fff;background:var(--panel);border:1px solid #0000;box-shadow:none;display:inline-flex;height:32px;justify-content:center;min-width:30px;padding:0;width:30px}.canvas-controls .cc-btn svg{height:24px;width:24px}.canvas-controls .cc-btn.is-active{background:#2563eb;background:var(--info)}@media (max-width:700px){.canvas-controls .cc-btn{height:44px;width:44px}.canvas-controls .cc-btn svg{height:26px;width:26px}}.person-node{--node-action-size:36px;--node-view-size:36px;--photo-size:48px;--name-size:13px;--sub-size:10px;align-items:center;background:#fff;border:1px solid #0f172a0f;border-radius:20px;box-shadow:0 10px 26px #0206170f;container-type:inline-size;display:flex;flex-direction:column;gap:6px;min-width:180px;padding:8px;position:relative;width:-webkit-fit-content;width:fit-content}.person-node.compact{--node-action-size:36px;--node-view-size:36px;gap:6px;min-width:160px;padding:8px}.person-photo{border:2px solid #f1f5f9;border-radius:50%;box-shadow:0 8px 18px #02061714;height:var(--photo-size);object-fit:cover;width:var(--photo-size)}.person-node.compact .person-photo{--photo-size:32px}.person-main{align-items:stretch;flex-direction:column;gap:6px}.person-body,.person-main{display:flex;min-width:0;width:100%}.person-body{align-items:center;gap:10px}.person-left{align-items:center;display:flex;flex:0 0 auto;justify-content:center;padding:4px}.person-right{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.person-name-row{align-items:center;display:flex;gap:6px;min-width:0}.person-name{color:#0f172a;font-size:var(--name-size);font-weight:800;letter-spacing:-.2px;max-width:220px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.person-node.compact .person-name{--name-size:13px}.person-sub{align-items:center;color:#475569;display:flex;flex-wrap:wrap;font-size:var(--sub-size);gap:6px}.person-node.compact .person-sub{gap:6px}.person-bio{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:11px;line-height:1.35;padding:6px 8px}.person-bio-inline{background:#0000;border:0;color:#475569;padding:0}.person-node.compact .person-bio{display:none}@media (max-width:700px){.person-node{--photo-size:40px;--name-size:12px;min-width:140px}.person-bio,.person-sub{display:none!important}.node-menu-side-wrap{right:6px}.node-menu-overlay{background:#02061752;display:block;inset:0;position:fixed;z-index:1999}.node-actions-menu{-webkit-overflow-scrolling:touch;border:0;border-radius:12px;border-top:1px solid #e6eef8;bottom:8px;box-shadow:0 -20px 50px #0206172e;box-sizing:border-box;left:8px;max-height:72vh;max-width:720px;min-height:120px;min-width:180px;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px;position:fixed;right:8px;top:auto;width:calc(100% - 16px);z-index:2000}.node-action-item{display:block;font-size:16px;padding:12px 16px;width:100%}.node-menu-side-btn{height:36px;width:36px}}.node-actions-menu{background:#fff;border:1px solid #eef2ff;border-radius:10px;box-shadow:0 20px 50px #02061724;max-height:300px;min-width:160px;overflow:auto;overscroll-behavior:contain;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:1000}.node-menu-overlay{display:none}.node-action-item{background:#fff;border:0;border-radius:8px;color:#0f172a;cursor:pointer;font-size:13px;padding:8px 10px;text-align:left;width:100%}.node-action-item:hover{background:#f7fbff}.node-action-item:disabled{cursor:not-allowed;opacity:.6}.node-menu-separator{background:#0000;display:none!important;height:0;margin:0}.node-action-danger{color:#ef4444!important;font-weight:700}.details{align-items:center;background:#fff;border-radius:10px;box-shadow:0 8px 28px #02061714;display:flex;flex-direction:column;gap:8px;padding:14px;position:absolute;right:14px;top:14px;width:300px;z-index:50}.details img{border-radius:50%;height:100px;object-fit:cover;width:100px}.details .close{background:#0000;border:none;cursor:pointer;position:absolute;right:10px;top:8px}.editor-backdrop{align-items:center;background:#02061773;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.editor{background:#fff;border-radius:10px;box-shadow:0 12px 40px #02061740;gap:8px;max-width:calc(100% - 40px);padding:16px;position:relative;width:440px}.editor,.editor label{display:flex;flex-direction:column}.editor label{font-size:13px;gap:6px}.editor input,.editor textarea{border:1px solid #e6eef8;border-radius:6px;font-size:13px;padding:8px}.editor textarea{min-height:64px;resize:vertical}.auth-backdrop{padding:20px}.auth-card{border-radius:14px;max-width:calc(100% - 40px);position:relative;width:760px}.auth-close{border-radius:8px;padding:6px}.auth-card-left{background:linear-gradient(180deg,#8020301f,#60a5fa0f);background:linear-gradient(180deg,rgba(var(--brand-rgb),.12),#60a5fa0f);min-width:240px;padding:30px;width:320px}.auth-card-right{flex:1 1;gap:14px;padding:32px}.user-profile-root{margin:0 auto 24px;max-width:1200px;max-width:var(--maxw);padding:18px}.profile-avatar-fallback{align-items:center;background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:12px;color:#fff;display:flex;font-size:32px;font-weight:800;height:120px;justify-content:center;object-fit:cover;width:120px}@media (max-width:920px){.main-layout{flex-direction:column;gap:10px;margin:8px auto;width:calc(100% - 8px)}.app-sidebar{height:auto;padding:6px;position:relative;top:0;width:100%}.content-area{min-height:220px}}@media (max-width:600px){.main-layout{flex-direction:column;gap:6px;margin:4px auto;width:100%}.app-sidebar{padding:4px}}@media (max-width:760px){.user-name{display:none}.user-dropdown-fixed{left:8px!important;right:8px!important;top:80px!important;top:calc(var(--header-h) + 8px)!important;width:auto!important}.user-avatar{height:28px;width:28px}.user-btn{gap:6px;padding:6px 8px}.verify-chip{justify-content:center;width:100%}}.auth-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#02061773;display:flex;inset:0;justify-content:center;overscroll-behavior:contain;padding:16px;position:fixed;z-index:9999}.auth-card{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #0f172a0f;border-radius:16px;box-shadow:0 30px 80px #02061759;display:flex;max-height:calc(100dvh - 32px);max-width:calc(100% - 24px);overflow:hidden;width:880px}.auth-close{background:#0000;border:none;border-radius:10px;color:#475569;cursor:pointer;font-size:20px;line-height:1;padding:8px;position:absolute;right:12px;top:10px}.auth-close:hover{background:#0f172a0f;color:#0f172a}.auth-close:focus{outline:3px solid #2563eb47;outline-offset:2px}.auth-card-left{align-items:center;background:linear-gradient(180deg,#8020301f,#60a5fa14);background:linear-gradient(180deg,rgba(var(--brand-rgb),.12),#60a5fa14);border-right:1px solid #0f172a0f;color:#08204a;display:flex;flex-direction:column;gap:12px;justify-content:center;min-width:280px;padding:32px;width:360px}.auth-illustration{border-radius:12px;box-shadow:0 12px 28px #2563eb1f;height:160px;overflow:hidden;width:160px}.auth-card-left-title{color:#05203b;font-size:20px;font-weight:800;margin:0;text-align:center}.auth-card-left-sub{color:#1f2937;font-size:13px;margin:0;opacity:.9;text-align:center}.auth-card-right{display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow:auto;padding:28px 28px 24px}.auth-top{align-items:center;display:flex;justify-content:space-between}.auth-top h2{color:#0f172a;font-size:24px;font-weight:800;letter-spacing:-.2px;margin:0}.auth-mode-switch{background:#f3f6ff;border:1px solid #e5ecff;border-radius:999px;display:inline-flex;gap:8px;padding:4px}.auth-mode-btn{background:#0000;border:0;border-radius:999px;color:#334155;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.auth-mode-btn.active{background:#fff;border:1px solid #c7d2fe;box-shadow:0 6px 16px #02061714;color:#0f172a}.auth-form{gap:14px;margin-top:4px}.auth-form,.auth-label{display:flex;flex-direction:column}.auth-label{gap:8px}.auth-label-text{color:#374151;font-size:13px;font-weight:700}.auth-input{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #e6eef8;border-radius:12px;box-shadow:0 10px 26px #0206170a;color:#0f172a;font-size:16px;line-height:1.35;padding:14px;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease;width:100%}.auth-input::placeholder{color:#97a6b5}.auth-input:focus{border-color:#93a2ff;box-shadow:0 14px 34px #6366f11a,0 0 0 3px #6366f12e;outline:none}.auth-input.error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44442e!important}.field-error-text{color:#b91c1c;font-size:12px;margin-top:6px}.auth-input:-webkit-autofill{-webkit-text-fill-color:#0f172a;-webkit-box-shadow:inset 0 0 0 1000px #fff;caret-color:#0f172a}.auth-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.auth-btn{border:1px solid #0000;border-radius:12px;cursor:pointer;font-size:15px;font-weight:800;min-width:160px;padding:12px 16px}.auth-btn.primary{background:linear-gradient(90deg,#802030,#a03040);background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 12px 32px #8020302e;box-shadow:0 12px 32px rgba(var(--brand-rgb),.18);color:#fff}.auth-btn.primary:disabled{cursor:not-allowed;opacity:.65}.auth-btn.secondary{background:#fff;border:1px solid #e6eef8;color:#0f172a}.role-switch .auth-btn.primary{background:linear-gradient(90deg,#0d6efd,#0b5ed7);border:1px solid #0d6efd1f;box-shadow:0 12px 32px #0d6efd29;color:#fff}.role-switch .auth-btn.primary:disabled{opacity:.7}.role-switch-component{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.role-switch-component .rs-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;display:inline-grid;grid-template-columns:1fr 1fr;overflow:hidden;padding:2px;position:relative;width:120px}.role-switch-component .rs-knob{background:linear-gradient(90deg,#0d6efd,#0b5ed7);border-radius:6px;bottom:2px;box-shadow:0 8px 18px #0d6efd1f;left:0;position:absolute;top:2px;transform:translateX(0);transition:transform .18s ease;width:50%}.role-switch-component .rs-wrap.rs-editor .rs-knob{transform:translateX(100%)}.role-switch-component .rs-btn{background:#0000;border:none;color:#0f172a;cursor:pointer;font-size:13px;font-weight:700;padding:6px 8px;position:relative;z-index:1}.role-switch-component .rs-btn:focus{outline:none}.role-switch-component .rs-btn.active{color:#fff}.role-switch-component .rs-btn.rs-btn-editor,.role-switch-component .rs-btn.rs-btn-viewer{text-align:center}.auth-btn.success{background:linear-gradient(90deg,#d08030,#e0a040);background:linear-gradient(90deg,var(--accent-alt-1),var(--accent-alt-2));box-shadow:0 12px 32px #d0803038;box-shadow:0 12px 32px rgba(var(--brand-alt-rgb),.22);color:#fff}.auth-btn.success:disabled{cursor:not-allowed;opacity:.65}.auth-note{color:#6b7280;font-size:13px}.auth-link{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:#802030;color:var(--accent);cursor:pointer;font-weight:700;margin:6px 0 0;padding:0;text-decoration:underline}.auth-link:hover{color:#1d4ed8}.auth-link:focus{border-radius:6px;outline:3px solid #2563eb47;outline-offset:2px}.auth-success{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;color:#065f46;font-size:13px;margin-top:6px;padding:8px 10px}.auth-divider{align-items:center;display:flex;gap:12px;margin:6px 0}.auth-divider:after,.auth-divider:before{background:#e8edf8;content:"";flex:1 1 auto;height:1px}.auth-divider span{color:#6b7280;font-size:12px}.auth-social{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr}.auth-social-btn{background:#fff;border:1px solid #e6eef8;border-radius:10px;color:#0f172a;cursor:pointer;font-weight:700;padding:10px 12px}.auth-social-btn:hover{background:#f9fbff}.auth-btn:focus,.auth-input:focus,.auth-mode-btn:focus,.auth-social-btn:focus{outline:none}.spinner{animation:spin .8s linear infinite;border:2px solid #80203040;border-top-color:#802030;border:2px solid rgba(var(--brand-rgb),.25);border-radius:50%;border-top-color:rgb(var(--brand-rgb));display:inline-block;height:16px;margin-right:8px;vertical-align:-2px;width:16px}@media (max-width:920px){.auth-card{width:760px}.auth-card-left{min-width:260px;width:320px}.auth-card-right{padding:24px}}@media (max-width:720px){.auth-card{flex-direction:column;max-height:calc(100dvh - 24px);max-width:560px;width:100%}.auth-card-left{display:none}.auth-card-right{padding:22px}.auth-actions{gap:8px}.auth-btn{flex:1 1 auto;min-width:0}}@media (max-width:420px){.auth-card{border-radius:12px;max-width:100%}.auth-card-right{padding:18px}.auth-top h2{font-size:20px}.auth-input{font-size:14px;padding:13px 12px}.auth-btn{font-size:14px;padding:12px}.auth-mode-btn{font-size:12px;padding:7px 10px}}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;display:none;font-size:13px;margin-top:6px;padding:8px 10px}.auth-error:not(:empty){display:block}.person-node.primary{background:#ecfdf5;border-color:#86efac;box-shadow:0 8px 22px #10b9812e}.person-badge-primary{background:#d1fae5;border:1px solid #a7f3d0;border-radius:999px;color:#065f46;display:inline-block;font-size:11px;font-weight:700;line-height:1.2;padding:2px 6px}.invite-chip{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #e6eef8;border-radius:999px;box-shadow:0 8px 20px #0206170f;color:#0f172a;cursor:pointer;font-size:12px;font-weight:700;margin-top:6px;padding:6px 8px}.invite-chip:hover{background:#f7fbff;border-color:#c7d2fe}.invite-chip:focus{outline:3px solid #80203033;outline:3px solid rgba(var(--brand-rgb),.2);outline-offset:2px}.node-menu-side-wrap{position:absolute;right:10px;top:8px;transform:none;z-index:3}.node-menu-side-btn{background:inherit;border:none;border-radius:999px;height:32px;width:32px}.node-menu-side-btn,.node-toggle-details{align-items:center;box-shadow:none;color:#0f172a;color:var(--text);cursor:pointer;display:inline-flex;justify-content:center}.node-toggle-details{background:#0000;border:none;border-radius:6px;bottom:8px;height:var(--node-view-size);padding:6px;position:absolute;right:8px;width:var(--node-view-size);z-index:4}.node-toggle-details:hover{background:#80203005;background:rgba(var(--brand-rgb),.02)}.node-toggle-details:focus{border-radius:6px;outline:3px solid #8020301f;outline:3px solid rgba(var(--brand-rgb),.12);outline-offset:2px}.node-toggle-details .chev{color:currentColor;transition:transform .18s ease}.node-toggle-details .chev.rotated{transform:rotate(180deg)}.node-expanded-details{align-items:flex-start;background:inherit;border:none;border-radius:0 0 12px 12px;box-shadow:none;display:flex;flex-direction:column;gap:6px;margin-top:2px;padding:2px 8px 8px;text-align:left;width:100%;z-index:1}.person-node.node-menu-open .node-toggle-details{opacity:.45;pointer-events:none;z-index:0}.node-menu-side-btn:hover{background:#f9fbff;border-color:#c7d2fe}@container (max-width: 220px){.person-node{--node-action-size:28px;--node-view-size:28px;--photo-size:32px;--name-size:11.5px;--sub-size:9.5px;min-width:120px}.invite-chip{font-size:10px;padding:4px 6px}.person-body{gap:6px}}@container (max-width: 180px){.person-node{--node-action-size:28px;--node-view-size:28px;--photo-size:32px;--name-size:12px;--sub-size:10px}.person-sub{display:none}.person-name-row{flex-wrap:wrap;row-gap:4px}.person-body{align-items:center;flex-direction:column}.person-name{text-align:center}}@container (max-width: 160px){.node-actions-menu{left:0;right:auto}}.react-flow__resize-control.handle.bottom-left,.react-flow__resize-control.handle.top-left,.react-flow__resize-control.handle.top-right{display:none!important}.react-flow__resize-control.handle.bottom-right{background:#94a3b8;border:1px solid #e2e8f0;border-radius:3px;height:12px;width:12px}.react-flow__resize-line{display:none}.fb-profile{background:#0000;margin:0 auto 24px;max-width:1200px;max-width:var(--maxw)}.fb-header{align-items:flex-end;display:flex;gap:16px;margin-top:12px;padding:0 8px;position:relative}.fb-avatar-wrap{background:#fff;border:6px solid #fff;border-radius:999px;box-shadow:0 12px 32px #0206172e;height:132px;overflow:hidden;width:132px}.fb-avatar{display:block;height:100%;object-fit:cover;width:100%}.fb-title{flex:1 1 auto;min-width:180px;padding-bottom:8px}.fb-title h2{font-size:clamp(18px,2.8vw,28px)}.fb-sub{color:#64748b;color:var(--muted);font-size:14px}.fb-actions{align-items:center;display:flex;gap:8px;margin-left:auto;padding-bottom:10px}.fb-tabs{border-bottom:1px solid #eef2ff;display:flex;gap:8px;margin-top:10px}.fb-tab{background:#fff;border:1px solid #e6eef8;border-bottom:none;border-top-left-radius:10px;border-top-right-radius:10px;color:#0f172a;cursor:pointer;font-weight:700;padding:10px 12px}.fb-tab.active{background:linear-gradient(180deg,#fff,#f7fbff);border-color:#c7d2fe}.fb-tab:disabled{cursor:not-allowed;opacity:.55}.fb-content{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr);margin-top:12px}.fb-card{background:#fff;border:1px solid #eef2ff;border-radius:12px;box-shadow:0 10px 28px #0206170f;display:flex;flex-direction:column;gap:8px;padding:14px}.fb-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.fb-grid-3{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.fb-pre{background:#f8fafc;border-radius:8px;max-height:200px;overflow:auto;padding:8px}@media (max-width:920px){.fb-content{grid-template-columns:1fr}.fb-actions{flex-wrap:wrap}}.user-home-root{margin:0 auto 24px;max-width:1200px;max-width:var(--maxw);padding:16px}.welcome-card{background:#fff;border:1px solid #eef2ff;border-radius:14px;box-shadow:0 12px 30px #02061714;padding:18px}.home-welcome{align-items:center;display:flex;gap:16px;justify-content:space-between}.home-welcome-text h2{font-size:clamp(20px,3vw,28px);letter-spacing:-.2px}.home-sub{color:#475569;font-size:14px;margin-top:6px}.home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.home-welcome-art{align-items:center;background:linear-gradient(180deg,#eef5ff,#fbfdff);border-radius:14px;box-shadow:0 10px 24px #02061714;display:flex;height:72px;justify-content:center;width:72px}@media (max-width:720px){.home-welcome{align-items:flex-start;flex-direction:column}.home-welcome-art{align-self:center}}.notification-badge-button{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px;position:relative;transition:background-color .2s}.notification-badge-button:hover{background-color:#0000000d}.notification-badge-button:active{background-color:#0000001a}.notification-icon{color:#333;height:24px;width:24px}.notification-badge-count{align-items:center;background:#ef4444;border-radius:9px;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:11px;font-weight:600;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:4px;top:4px}.notification-badge-count:empty{display:none}@media (prefers-color-scheme:dark){.notification-badge-button:hover{background-color:#ffffff1a}.notification-badge-button:active{background-color:#ffffff26}.notification-icon{color:#e5e5e5}}.feed-page{margin:0 auto;max-width:800px;padding:12px}.feed-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.feed-header-content{flex:1 1}.feed-title{color:#1a1a1a;font-size:22px;font-weight:600;margin:0 0 2px}.feed-subtitle{color:#666;font-size:13px;margin:0}.btn-create-post{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.btn-create-post:hover{background-color:#45a049}.btn-create-post:active{transform:scale(.98)}.feed-container{width:100%}.feed-empty,.feed-error,.feed-loading{color:#666;padding:40px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.feed-error{color:#d32f2f}.error-details{color:#999;font-size:12px;margin-top:10px}.empty-icon{font-size:64px;margin-bottom:20px}.feed-empty h2{color:#333;font-size:24px;margin:0 0 10px}.feed-empty p{color:#666;font-size:16px;margin-bottom:20px}.keyboard-hint{color:#999!important;font-size:13px!important;font-style:italic;margin-top:12px!important}.loading-skeleton{display:flex;flex-direction:column;gap:12px}.skeleton-post{animation:pulse 1.5s ease-in-out infinite;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.skeleton-header{display:flex;gap:10px;margin-bottom:10px}.skeleton-avatar{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:50%;height:36px;width:36px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.skeleton-line{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;height:12px}.skeleton-name{height:14px;width:140px}.skeleton-time{height:10px;width:80px}.skeleton-content{display:flex;flex-direction:column;gap:8px}.skeleton-line.short{width:60%}.feed-posts{display:flex;flex-direction:column;gap:12px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:99999}.modal-content{background-color:#fff!important;border-radius:12px;box-shadow:0 10px 40px #0206174d;max-height:90vh;max-width:600px;overflow:auto;width:100%;z-index:100000}.post-composer{padding:24px}.post-composer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.post-composer-header h3{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.close-btn:hover{color:#333}.post-composer-textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:15px;margin-bottom:10px;min-height:120px;padding:12px;resize:vertical;width:100%}.post-composer-textarea:focus{border-color:#4caf50;outline:none}.char-count{color:#666;font-size:12px;margin-bottom:10px;text-align:right}.char-count.warning{color:#ff9800;font-weight:600}.post-composer-actions{display:flex;gap:10px;justify-content:flex-end}.rich-toolbar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;padding:8px}.toolbar-group{align-items:center;display:flex;gap:2px}.toolbar-separator{background:#d1d5db;height:24px;margin:0 4px;width:1px}.toolbar-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;font-weight:600;height:32px;justify-content:center;min-width:32px;padding:6px 10px;transition:all .15s}.toolbar-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.toolbar-btn:active:not(:disabled){background:#e5e7eb}.toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.color-picker-wrapper,.emoji-picker-wrapper{position:relative}.color-palette,.emoji-palette{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;gap:4px;left:0;margin-top:4px;padding:8px;position:absolute;top:100%;z-index:1000}.color-swatch{border:2px solid #fff;border-radius:4px;cursor:pointer;height:28px;outline:1px solid #e5e7eb;transition:transform .15s;width:28px}.color-swatch:hover{outline-color:#9ca3af;transform:scale(1.1)}.emoji-palette{flex-wrap:wrap;max-width:200px}.emoji-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:20px;padding:4px;transition:background .15s}.emoji-btn:hover{background:#f3f4f6}.link-inline-dialog{align-items:center;display:flex;gap:8px;margin:8px 0 10px}.link-inline-dialog input{border:1px solid #e5e7eb;flex:1 1}.link-inline-dialog button,.link-inline-dialog input{border-radius:6px;padding:8px 10px}.post-composer-richeditor{background:#fff;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:15px;margin-bottom:10px;max-height:60vh;min-height:140px;overflow:auto;padding:12px}.tiptap-editor-content{outline:none}.tiptap-editor-content .ProseMirror{min-height:120px;outline:none;padding:0}.tiptap-editor-content .ProseMirror:focus{outline:none}.tiptap-editor-content .ProseMirror p.is-editor-empty:first-child:before{color:#9ca3af;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.tiptap-editor-content .ProseMirror p{margin:0 0 .5em}.tiptap-editor-content .ProseMirror p:last-child{margin-bottom:0}.tiptap-editor-content .ProseMirror ol,.tiptap-editor-content .ProseMirror ul{margin:.5em 0;padding-left:1.5em}.tiptap-editor-content .ProseMirror li{margin:.25em 0}.tiptap-editor-content .ProseMirror strong{font-weight:600}.tiptap-editor-content .ProseMirror em{font-style:italic}.tiptap-editor-content .ProseMirror u{text-decoration:underline}.tiptap-editor-content .ProseMirror s{text-decoration:line-through}.tiptap-editor-content .ProseMirror h1,.tiptap-editor-content .ProseMirror h2,.tiptap-editor-content .ProseMirror h3{font-weight:700;line-height:1.3;margin:.75em 0 .5em}.tiptap-editor-content .ProseMirror h1{font-size:1.8em}.tiptap-editor-content .ProseMirror h2{font-size:1.5em}.tiptap-editor-content .ProseMirror h3{font-size:1.25em}.tiptap-editor-content .ProseMirror mark{background-color:#ffeb3b;border-radius:2px;padding:2px 4px}.tiptap-editor-content .ProseMirror[style*="text-align: center"]{text-align:center}.tiptap-editor-content .ProseMirror[style*="text-align: right"]{text-align:right}.tiptap-editor-content .ProseMirror a{color:#4caf50;cursor:pointer;text-decoration:underline}.tiptap-editor-content .ProseMirror img{border-radius:8px;height:auto;margin:.5em 0;max-width:100%}.post-composer-richeditor:focus-within{border-color:#4caf50;box-shadow:0 0 0 3px #4caf500f}.post-composer-richeditor-editable{background:#fff;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:15px;margin-bottom:10px;max-height:60vh;min-height:140px;outline:none;overflow:auto;padding:12px}.post-composer-richeditor-editable:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf500f}.post-composer-richeditor-editable:empty:before{color:#9ca3af;content:attr(data-placeholder)}.post-composer-inline-wrap{box-sizing:border-box;margin:0 auto 18px;max-width:820px;padding:12px;width:100%}.post-composer{background:#fff;border:1px solid #e6eef8;border-radius:12px;box-shadow:0 6px 20px #0206170f}@media (max-width:760px){.post-composer-inline-wrap{max-width:100%;padding:8px}.post-composer{border-radius:8px}.rich-toolbar{flex-wrap:wrap;gap:6px}.post-composer-richeditor{min-height:100px}}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary{background-color:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background-color:#45a049}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.post-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:12px}.post-header{align-items:center;display:flex;margin-bottom:10px;position:relative}.post-author-avatar{object-fit:cover}.post-author-avatar,.post-author-avatar-placeholder{border-radius:50%;height:36px;margin-right:10px;width:36px}.post-author-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;justify-content:center}.post-author-info{display:flex;flex:1 1;flex-direction:column}.post-author-name{color:#1a1a1a;font-size:15px;font-weight:600}.post-timestamp{color:#999;font-size:13px}.post-menu{margin-left:auto;position:relative}.post-menu-button{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:20px;padding:4px 8px}.post-menu-button:hover{background-color:#f5f5f5}.post-menu-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.post-menu-dropdown button{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;width:100%}.post-menu-dropdown button:hover{background-color:#f5f5f5}.post-content{margin-bottom:10px}.post-text{word-wrap:break-word;color:#1a1a1a;font-size:14px;line-height:1.4;margin:0;white-space:pre-wrap}.post-media{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:12px}.post-media img{border-radius:8px;height:200px;object-fit:cover;width:100%}.post-stats{border-top:1px solid #f0f0f0;color:#666;display:flex;font-size:12px;gap:12px;padding:8px 0}.post-stat:empty{display:none}.post-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding-top:8px}.post-stats-inline{color:#666;display:flex;flex:1 1;font-size:12px;gap:12px}.stat-inline{white-space:nowrap}.post-action-buttons-inline{display:flex;gap:6px}.action-btn-small{background:none;border:1px solid #e0e0e0;border-radius:4px;color:#666;cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .2s;white-space:nowrap}.action-btn-small:hover{background-color:#f5f5f5;border-color:#ccc}.action-btn-small.active{background-color:#4caf500d;border-color:#4caf50;color:#4caf50}.action-btn-small:disabled{cursor:not-allowed;opacity:.5}.reaction-picker-wrapper-inline{display:inline-block;position:relative}.reaction-btn-inline{align-items:center;display:inline-flex;gap:4px}.reaction-picker-inline{bottom:100%;margin-bottom:4px;position:absolute;right:0;z-index:100}.post-actions{border-top:1px solid #f0f0f0;display:flex;gap:6px;padding-top:8px}.post-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:4px;justify-content:center;padding:6px 10px;transition:background-color .2s}.post-action-btn:hover{background-color:#f5f5f5}.post-action-btn.active{color:#4caf50}.action-icon{font-size:18px}.comment-list{border-top:1px solid #f0f0f0;margin-top:10px;padding-top:10px}.comments-loading{color:#999;font-size:14px;padding:20px;text-align:center}.comments{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.comment{display:flex;gap:10px}.comment-avatar{object-fit:cover}.comment-avatar,.comment-avatar-placeholder{border-radius:50%;flex-shrink:0;height:32px;width:32px}.comment-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:14px;font-weight:600;justify-content:center}.comment-body{background-color:#f5f5f5;border-radius:12px;flex:1 1;padding:10px 12px;position:relative}.comment-header{align-items:baseline;display:flex;gap:8px;margin-bottom:4px}.comment-author{color:#1a1a1a;font-size:13px;font-weight:600}.comment-timestamp{color:#999;font-size:12px}.comment-delete{background:none;border:none;color:#999;cursor:pointer;font-size:18px;line-height:1;margin-left:auto;padding:0 4px}.comment-delete:hover{color:#d32f2f}.comment-text{word-wrap:break-word;color:#1a1a1a;font-size:14px;line-height:1.4;margin:0}.comment-form{align-items:flex-start;display:flex;gap:10px}.comment-input-wrapper{align-items:center;display:flex;flex:1 1;gap:8px}.comment-input{border:1px solid #ddd;border-radius:20px;flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px}.comment-input:focus{border-color:#4caf50;outline:none}.comment-submit{background-color:#4caf50;border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.comment-submit:hover:not(:disabled){background-color:#45a049}.comment-submit:disabled{background-color:#ccc;cursor:not-allowed}.post-reactions{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-top:12px;padding-top:12px}.reactions-display{display:flex;flex-wrap:wrap;gap:6px}.reaction-button{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:4px 8px;transition:all .2s}.reaction-button:hover{background:#e5e7eb;transform:scale(1.05)}.reaction-button.active{background:#dbeafe;border-color:#3b82f6}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{color:#6b7280;font-size:12px;font-weight:600;min-width:12px;text-align:center}.reaction-button.active .reaction-count{color:#3b82f6}.reaction-picker-wrapper{margin-left:auto;position:relative}.add-reaction-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;font-size:16px;gap:4px;padding:6px 12px;transition:all .2s}.add-reaction-button:hover{background:#f9fafb;border-color:#d1d5db}.add-reaction-button:disabled{cursor:not-allowed;opacity:.5}.reaction-picker{background:#fff;border:1px solid #e5e7eb;border-radius:12px;bottom:100%;box-shadow:0 4px 12px #0000001a;display:flex;gap:4px;margin-bottom:8px;padding:8px;position:absolute;right:0;z-index:100}.reaction-option{align-items:center;background:#fff;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:all .2s;width:36px}.reaction-option:hover{background:#f3f4f6;transform:scale(1.1)}.reaction-option.selected{background:#dbeafe;border-color:#3b82f6}.reaction-option:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.feed-page{padding:10px}.feed-header{align-items:flex-start;flex-direction:column}.btn-create-post{width:100%}.feed-title{font-size:24px}.post-card{padding:16px}.modal-content{border-radius:0;margin:0;max-width:100%}.post-composer{padding:16px}.reaction-picker{left:0;right:auto}}.notifications-page{margin:0 auto;max-width:800px;padding:20px}.notifications-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.notifications-header h1{color:#111827;font-size:24px;font-weight:600;margin:0}.mark-all-read-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.mark-all-read-button:hover{background:#2563eb}.mark-all-read-button:active{background:#1d4ed8}.notifications-error,.notifications-loading{color:#6b7280;padding:40px 20px;text-align:center}.notifications-error{color:#ef4444}.notifications-empty{padding:60px 20px;text-align:center}.notifications-empty p{color:#6b7280;font-size:16px;margin:8px 0}.notifications-empty-subtitle{color:#9ca3af!important;font-size:14px!important}.notifications-list{background:#e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:1px;overflow:hidden}.notification-item{align-items:flex-start;background:#fff;cursor:pointer;display:flex;gap:12px;padding:16px;position:relative;transition:background-color .2s}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#eff6ff}.notification-item.unread:hover{background:#dbeafe}.notification-avatar{flex-shrink:0;height:40px;width:40px}.notification-avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.notification-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:600;height:100%;justify-content:center;width:100%}.notification-content{flex:1 1;min-width:0}.notification-message{color:#111827;font-size:14px;line-height:1.5;margin:0 0 4px}.notification-time{color:#6b7280;font-size:12px;margin:0}.notification-unread-indicator{background:#3b82f6;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}@media (prefers-color-scheme:dark){.notifications-header{border-bottom-color:#374151}.notifications-header h1{color:#f3f4f6}.notifications-list{background:#1f2937}.notification-item{background:#111827}.notification-item:hover{background:#1f2937}.notification-item.unread{background:#1e3a5f}.notification-item.unread:hover{background:#1e40af}.notification-message{color:#f3f4f6}.notification-time{color:#9ca3af}}@media (max-width:640px){.notifications-page{padding:16px}.notifications-header{align-items:flex-start;flex-direction:column;gap:12px}.mark-all-read-button{width:100%}.notification-item{padding:12px}}
/*# sourceMappingURL=main.440af54c.css.map*/