

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    overflow:hidden;
    font-family:Arial, sans-serif;
    background:#1e1e1e;
    color:white;
}

header span{padding:100px;margin:10px;}
footer{background:black;color:white;}







/* Toolbar */

#toolbar{
    height:60px;
    background:#2c2c2c;
    display:flex;
    align-items:center;
    padding:0 20px;
    border-bottom:1px solid #444;
}

#toolbar button{
    padding:10px 20px;
    background:#4f46e5;
    border:none;
    color:white;
    cursor:pointer;
    border-radius:8px;
    font-size:16px;
    transition:0.2s;
}

#toolbar button:hover{
    background:#6366f1;
}

/* Editor */

#editor{
    position:relative;
    width:100vw;
    height:calc(100vh - 60px);
    overflow:hidden;
    background:
        linear-gradient(
            rgba(255,255,255,0.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.03) 1px,
            transparent 1px
        );

    background-size:20px 20px;
}

/* SVG */

#connections{
    position:absolute;
    width:100%;
    height:100%;
    pointer-events:none;
}

/* Nodes */

.node{
    position:absolute;
    width:220px;
    background:#2b2b2b;
    border:1px solid #555;
    border-radius:12px;
    user-select:none;
    box-shadow:0 8px 20px rgba(0,0,0,0.3);
}

.node-header{
    padding:12px;
    background:#3a3a3a;
    border-radius:12px 12px 0 0;
    cursor:move;
    font-weight:bold;
}

.node-body{
    padding:15px;
}

/* Sockets */

.socket{
    width:14px;
    height:14px;
    border-radius:50%;
    background:#4f46e5;
    position:absolute;
    cursor:pointer;
}

.input-socket{
    left:-7px;
    top:50%;
    transform:translateY(-50%);
}

.output-socket{
    right:-7px;
    top:50%;
    transform:translateY(-50%);
}

.connection{
    stroke:#4f46e5;
    stroke-width:3;
    fill:none;
}

/* Footer */

.footer{
    position:absolute;
    bottom:10px;
    right:20px;
    color:#777;
    font-size:12px;
}

